正睿19暑期B班DAY8 测试DAY1
终于上场均了qvq
T1
30opts
按照剧本是个状压dp
100opts
把这个问题看作和一个人博弈
这个人非常阴险 总给你最坏情况
考虑如果有k个1 把她们分到k个集合里就好了
少一个1可以用k个2来补
少一个2可以用k个3来补
以此类推
也长成这样\(\sum k^{-a_i} \geq 1\)
“这道题是可以出到5e6的 但是spj有一个loj”
T2
7opts
对我正解写挂了
22opts
大力搜
42opts
暴力并查集合并
100opts
由于右区间不相交
我们可以把它看作一个横过来的树(根在左边)
abcabcab
abcabcab
这种情况要特判一下\(l2 - l1 < pos - l2\)
直接跳到最前面 免得反复横跳
所以。。我们把并查集改成暴力,复杂度就真的对了。。
p.s.if(p && edge[p].l2 <= x && x <= edge[p].r2)
这里要再判一次范围
T3
没有看到所有边都要被用到。。惨惨了
10opts
反复横跳消掉所有边 拆成4点样例处理
40opts
直接搜
65opts
1.剪枝 找度数最小的点
2.欧拉回路加高消??Orz
把每条边定向 变成异或方程组 做成一个O(m^3)
(看起来大家已经完全搞懂了)
100opts
对于传统问题(即没有偶数长度要求的链覆盖)
可以把所有奇数度数点两两相连(虚边)
因为奇数度数点的个数为偶数
所以连完之后的图所有点度数都是偶数
在这张图上求一个欧拉回路 再删掉所有虚边
得到的就是链覆盖
现在考虑加入偶数长度限制
原图必然能被若干个长度为2的链覆盖 否则无解
在做一个任意长度为2的链覆盖后
把所有的链 即形如(u, p, v)(因为长度为2嘛)
缩成(u, v)
因为这样缩会中间点(即p)度数减2 其余点度数不影响
所以仍然可以用原来的方法做链覆盖
这时得到的所有的链显然在原图中长度为偶数
对于这道题无解的判断
首先,每个点的点度是奇数
其次,总边数一定是偶数
问题有解当且仅当同时满足这两个条件