随笔分类 -  题解

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页
摘要:明显看到,题目时间限制 500ms500ms500ms,暴力肯定过不了。但是我们观察一下,需要 m<nm < nm<n 且 f(m)>f(n)f(m) > f(n)f(m)>f(n),我们先用暴力看一下规律: #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2022-01-25 13:53 HappyBobb 阅读(12) 评论(0) 推荐(0)
摘要:看到大家都是暴力枚举,但是其实这道题有数学方法。 首先,很明显,第一次找到一个出现次数最大的字符后,每次都是加上这么多同样的字符,这样才能最快。 假设原串长度为 sss,原串中出现次数最大的字符出现过了 nnn 次,按照题意,最后需要长度 ≥l\ge l≥l。可以列出方程 s+∑i=0k2i×n≥l 阅读全文
posted @ 2022-01-20 14:33 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:模拟即可,但是一定要注意四舍五入的问题。第一次统计的平均值不用四舍五入,但是第二次去除掉不合法的后取的平均值要四舍五入,推荐用 round 函数,其他就是模拟即可。 #include <bits/stdc++.h> using namespace std; #define int long long 阅读全文
posted @ 2022-01-19 20:30 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:打表即可: #include <bits/stdc++.h> using namespace std; #define int long long int ans[25]; signed main() { ans[1] = 1; ans[2] = 0; ans[3] = 18; ans[4] = 0 阅读全文
posted @ 2022-01-18 15:14 HappyBobb 阅读(4) 评论(0) 推荐(0)
摘要:每座城市 pi\large p_ipi​ 距离起点位置为 ∣pi−x∣ \lvert p_i-x \lvert∣pi​−x∣,d dd 满足题意时当且仅当 d ∣ ∣pi−x∣(i=1,2,3,……,n) d \,\,|\,\, |p_i-x|(i=1,2,3,……,n)d∣∣pi​−x∣(i=1, 阅读全文
posted @ 2022-01-18 13:49 HappyBobb 阅读(19) 评论(0) 推荐(0)
摘要:既然标签是暴力,那就别加后面三个点啊!毕竟标签没有线段树。 传送门:P1186 不就是暴力吗?先跑一遍 Dijkstra,记录最短路的每一条边。然后删除每一条边再跑一次最短路并更新答案。但是这样会超时,最后三个点过不去。但是,不要忘了,我们有时在比赛时不会写 dp 的题目可以暴力 dfs,虽然会超时 阅读全文
posted @ 2022-01-15 14:27 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要:传送门:SP11736 PTIME - Prime Time 额,这个题目跟我自己在某个团队出的题目类似,是我在某次数学课后想到的题目。我的想法是预处理所有 ≤n\le n≤n 的质数,然后每个质数处理一遍即可。 代码: #include <iostream> using namespace std 阅读全文
posted @ 2022-01-13 15:45 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:传送门:SP1163 JAVAC - Java vs C &#43&#43 很明显一字符串模拟题,但是要考虑几个问题,这是翻译没有写的,首先如果 _ 后面还是 _,要输出 Error!;第二,如果字符串末尾或第一个是 _,也要输出 Error!;最后,如果字符串第一个是大写,也要输出 Error!。 阅读全文
posted @ 2022-01-13 15:37 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:提供三种做法: 1、Floyd 由于 n≤200n \le 200n≤200,而弗洛伊德的复杂度是 O(n3)O(n^3)O(n3),这道题需要全源最短路,而弗洛伊德是最好写的,也是最能令人理解的。还不会弗洛伊德的看这里。 代码:这里。 2、关于SPFA,它复活了! 众所周知,一遍全源最短路其实就相 阅读全文
posted @ 2022-01-11 15:33 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:本题不难,用 map 模拟即可。注意要倒序模拟,代码: #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 5; map<string, bool> mp; string s[N]; int main() { int n 阅读全文
posted @ 2022-01-11 11:05 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:动态规划,与这题基本相同,只不过有多组测试。压行即可: #include<bits/stdc++.h> using namespace std; #define R(a,b) for(a=1;a<=b;a++) const int N=1e3+5;int a[N][N],i,j,n,T,g;main 阅读全文
posted @ 2022-01-10 15:21 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:话说为啥你们都用快读快写,我用 cout 和 cin 也过了?(其实我是懒)。 很简单的模拟,每次交换时判断当前位置是否在交换的位置 x,yx,yx,y 中,在的话就交换,不在啥都不用做,中途如果进坑就直接退出。 代码: #include <iostream> #include <algorithm 阅读全文
posted @ 2022-01-06 21:28 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:一道贪心题目,设定 mpij{mp_i}_ jmpi​j​ 表示第 iii 道题目选 jjj 的人数,jjj 为字符类型,枚举每一个 mpij(1≤i≤m, j=A,B,C,D,E){mp_i}_ j(1 \le i \le m, \,\,j = A,B,C,D,E)mpi​j​(1≤i≤m,j=A 阅读全文
posted @ 2022-01-06 17:37 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:水题,众所周知,两点之间直线距离: (x2−x1)2+(y2−y1)2\Large \sqrt{(x2 - x1)^2+(y2-y1)^2}(x2−x1)2+(y2−y1)2​。 然后就能过了: #include <iostream> #include <iomanip> #include <alg 阅读全文
posted @ 2022-01-05 21:28 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要:传送门:P7158 本题考虑动态规划,很明显我们需要一个 O(n)O(n)O(n) 左右的动态规划。 首先我们可以对数进行分析,假设有 abcd‾\overline{abcd}abcd,那么对于第 555 位,有 999 种方法,就是 000 到 999 中少去掉一个 kkk,假设 abcd‾\ov 阅读全文
posted @ 2022-01-03 21:20 HappyBobb 阅读(17) 评论(0) 推荐(0)
摘要:传送门:P7381 [COCI2018-2019#6] Sličice 其实是一道类似多重背包的题目,定义 dpij{dp_i}_ jdpi​j​ 表示代表前 iii 个球队共收集 jjj 张时最大分数。可以求出状态转移方程 dpij=max⁡{dpij,dpi−1j−g+bpi+g}{dp_i}_ 阅读全文
posted @ 2022-01-01 17:00 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:传送门:AT685 準急 动态规划,fi0{f_i}_0fi​0​ 表示第 iii 个点不停靠方案数,fi1{f_i}_1fi​1​ 表示第 iii 个点停靠方案数。 代码: #include <iostream> using namespace std; #define int long long 阅读全文
posted @ 2022-01-01 10:53 HappyBobb 阅读(5) 评论(0) 推荐(0)
摘要:传送门:P2719 搞笑世界杯 这道题赤裸裸的动态规划,我们设 dpij{dp_i}_jdpi​j​ 表示 i 张 A 类和 j 张 B 类的可能性。可以用 dpnn{dp_n}_ndpn​n​ 表示答案。初始值:dpi0=dp0i=1(i=2,3,4,5,……,n){dp_i}_0 = {dp_0 阅读全文
posted @ 2021-12-31 21:00 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:题目传送门:CF295B 这道题是练习 floydfloydfloyd 的好题。 首先我们来思考一下,删除 nnn 次点,每次删点求一次最短路,用 floydfloydfloyd 做则是 O(n3×n)\text O(n^3 \times n)O(n3×n) 也就是 O(n4)\text O(n^4 阅读全文
posted @ 2021-12-23 20:27 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:传送门:CF1066C Books Queries 这个题目是蓝的? 首先这个题目暴力模拟肯定不行,我们考虑一个数组 aia_iai​ 代表值为 iii 的元素的位置在哪里,然后有两个指针 lll,rrr 表示当前左端点和右端点的值。 考虑每一个操作: L idL\,\, idLid:在现在序列的左 阅读全文
posted @ 2021-12-23 18:10 HappyBobb 阅读(9) 评论(0) 推荐(0)

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页