A
暴力
复杂度\(O(\text {能过})\)
B
扫一遍 尺取法
复杂度\(O(\text {能过})\)
C
有结论
对于一颗树\(T\) 若分成\(k\)份 那么\(T\)中\(sz\)为\(k\)倍数要有\(n / k\)个
基环树扣环
然后前缀和 扫一遍就好了
复杂度\(O(n \sqrt n)\)
D
这个逐位dp trick 好厉害
考虑设置状态\(f[S1][S2][x]\)
表示当前匹配的串的前缀是\(S1\)总的串是\(S1 + S2\)差值为\(x\)
\(S1, S2\)可以合并成一维
然后\(DP\)的话每一位枚举填什么就好了
复杂度\(O(3 ^ n n ^ 2)\)
E
留坑
F
\(\text {神题}\times 2\)
本来的想法是构造\(3 ^ {\text {depth}}\)的形式
只能做差不多\(1e9\)吧
然后题解给了一个构造一个团的做法
设团的大小为\(C\)
我们有结论 在第\(x\)步到达团中的每一个点的方案数都是\(C^{x-1}\)
有这个结论之后构造长度为\(D\)一条链就好了
这样对于链上的倒数第\(i\)个点
造成的贡献是\(C^{m-i-1}\)
取\(C=9,D=21\)
复杂度\(O(\text {能过})\)
G
我好弱啊 这题都不会做
对于原图一条边\(u, v\) 权值为较小的边
然后不是就是 魔法森林 了吗
询问的话树状数组搞一下就好了
复杂度\(O(m \log (n + m))\)
H
乱搞题 假设仅用\(3\)个字符很不好卡掉
然后推一发式子 因式分解一发就过了.. orz fyy
复杂度\(O(\text {玄学})\)
标算好像是找到一个比较优秀的 然后在后面加\(1\)
I
留坑
J
暴力 复杂度\(O(n * T)\)
有更优秀的做法好像可以跑\(1e5\)
K
分类讨论 留坑
L
这题就是贪心啊, 就差一点就会做了..
贪心从小到大
然后对于一个数 看左边和谁换 还是和后继交换
线段树维护最大值 Set维护合法区间
复杂度\(O(n \log n)\)