随笔分类 -  《Codeforces题解》

摘要:思路: 做法应该有挺多的,离线和在线都能。 离线的话,先把所有没生病的人标记了。 那么再扫一遍,对于一个知道的有人生病的区间,如果它里面不确定的人只有1个。 那这个人就是生病的人,并且知道它的时间就是max(这次询问的时间和,区间里其他所有人第一次知道自己不生病的最大值)。 更新一下即可。线段树维护 阅读全文
posted @ 2022-02-28 17:25 levill 阅读(72) 评论(0) 推荐(0)
摘要:首先可以状压所有方案,但是这样复杂度O(2 ^ u * n)。 考虑到连续的xor操作其实可以整合到一起,那么可以再次优化。 然后我们考虑dfs,理论上来说dfs每层都有两种操作应该是2 ^ u * n。 但是因为连续的异或操作是没有意义的,所有我们就可以明白了除非是进行1的xor操作,否则进行和不 阅读全文
posted @ 2022-02-18 09:26 levill 阅读(36) 评论(0) 推荐(0)
摘要:A题写炸了。 A:一开始写了个字符串没算复杂度T了,实际上从高到低判断即可。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long 阅读全文
posted @ 2021-12-02 20:11 levill 阅读(133) 评论(0) 推荐(0)
摘要:感觉这场题面有点绕 A:先把能除2的都除2,然后最后再把最大的不断翻倍即可 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long U 阅读全文
posted @ 2021-12-01 22:21 levill 阅读(55) 评论(0) 推荐(0)
摘要:A:贪心一下就行 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef long double ld; typedef pair<int,int> pii; const 阅读全文
posted @ 2021-11-28 10:32 levill 阅读(29) 评论(0) 推荐(0)
摘要:求gcd <= q,且lcm >= p的方案数。 考虑容斥:ans = ans{无限制下的序列方案数} - {gcd > q的方案数} - {gcd <= q 且 lcm < p的方案数} 对于无限制下的序列方案数,因为每个数都能选的是[1,m],要求的是序列中数的乘积和。 所以总数量 = (1 + 阅读全文
posted @ 2021-11-19 10:11 levill 阅读(116) 评论(0) 推荐(0)
摘要:只做了几个题。 B. A Plus B Problem: 一开始做的时候思路有点乱,后面理清楚了,就是说不用10进制来维护,用没有进位之后的数来维护,这样每次操作之后就是加1减1的操作了。 // Author: levil #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2021-11-18 13:46 levill 阅读(456) 评论(0) 推荐(0)
摘要:直接给结论。令d[x] = 与x互质的数的个数.由容斥原理可得: d[x] = d[x1] * (-1) ^ f[x1] + d[x2] * (-1) ^ f[x2] + ... x[i]为x的因子,且质因子都为最低阶,也就是说x[i]是x质因子分解后的质因子组合而成。 我们状压一下所有情况即可。 阅读全文
posted @ 2021-10-28 10:06 levill 阅读(49) 评论(0) 推荐(0)
摘要:E:我们从1开始考虑最大的k,从右开始到左,dp一下就好。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; type 阅读全文
posted @ 2021-10-26 17:55 levill 阅读(110) 评论(0) 推荐(0)
摘要:可惜了这场差点上大分。 A: 水题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int 阅读全文
posted @ 2021-10-26 12:51 levill 阅读(241) 评论(0) 推荐(0)
摘要:A: // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; type 阅读全文
posted @ 2021-09-22 09:17 levill 阅读(40) 评论(0) 推荐(0)
摘要:A:水题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; ty 阅读全文
posted @ 2021-09-17 14:51 levill 阅读(26) 评论(0) 推荐(0)
摘要:A:签到 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> pii; co 阅读全文
posted @ 2021-09-07 09:12 levill 阅读(44) 评论(0) 推荐(0)
摘要:题目一题比一题难读..... A:签到了属于是。 考虑每个点操作偶数次才能保证方向不变。 那么对于它排序后的位置一定要保证距离为偶数距离才行。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long lon 阅读全文
posted @ 2021-08-24 08:17 levill 阅读(39) 评论(0) 推荐(0)
摘要:A:水题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int,int> pii; const int N = 1e4 + 5; const int M 阅读全文
posted @ 2021-08-22 14:26 levill 阅读(42) 评论(0) 推荐(0)
摘要:A:很显然对于每个bit位,只要存在一个0,最终都能通过很多次操作后全部变成0.统计全部为1的位数即可。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair< 阅读全文
posted @ 2021-08-19 08:58 levill 阅读(80) 评论(0) 推荐(0)
摘要:这场前面几题感觉都不是很难。 A:很显然很大的时候都用最大的来塞就行了,对于较小的时候用背包计算下最优的方案。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pa 阅读全文
posted @ 2021-08-16 08:40 levill 阅读(26) 评论(0) 推荐(0)
摘要:A:排序之后以某个点为分界线肯定是最优的。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<double,int> pii; const int N = 阅读全文
posted @ 2021-08-14 07:42 levill 阅读(43) 评论(0) 推荐(0)
摘要:A:dp处理一下:dp[i][j] - 以j结尾,和为i的最小长度。 转移很简单。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<LL,int> pii 阅读全文
posted @ 2021-07-18 16:19 levill 阅读(49) 评论(0) 推荐(0)
摘要:1:后缀排序。 基于倍增和桶排的做法。 对于每个位置有第一关键字和第二关键字。 利用倍增来求解关键字,当所有人的排名都不一样时即完成。 2:LCP 最长公共前缀,非常有用。 洛谷: P3809 【模板】后缀排序 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2021-02-15 11:38 levill 阅读(60) 评论(0) 推荐(0)