码迷,mamicode.com
首页 > 其他好文 > 详细

正睿19暑期B班DAY8 测试DAY1

时间:2019-08-04 19:51:13      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:pts   要求   方程组   fork   覆盖   剪枝   mission   最坏情况   https   

终于上场均了qvq

技术图片

T1

link

30opts

按照剧本是个状压dp

100opts

把这个问题看作和一个人博弈

这个人非常阴险 总给你最坏情况

考虑如果有k个1 把她们分到k个集合里就好了

少一个1可以用k个2来补

少一个2可以用k个3来补

以此类推

也长成这样\(\sum k^{-a_i} \geq 1\)

“这道题是可以出到5e6的 但是spj有一个loj”

AC代码


T2

link

7opts

对我正解写挂了

22opts

大力搜

42opts

暴力并查集合并

100opts

由于右区间不相交

我们可以把它看作一个横过来的树(根在左边)

abcabcab

? abcabcab

这种情况要特判一下\(l2 - l1 < pos - l2\)

直接跳到最前面 免得反复横跳

所以。。我们把并查集改成暴力,复杂度就真的对了。。

AC代码

p.s.if(p && edge[p].l2 <= x && x <= edge[p].r2)这里要再判一次范围


T3

link

没有看到所有边都要被用到。。惨惨了

10opts

反复横跳消掉所有边 拆成4点样例处理

40opts

直接搜

65opts

1.剪枝 找度数最小的点

2.欧拉回路加高消??Orz

把每条边定向 变成异或方程组 做成一个O(m^3)

(看起来大家已经完全搞懂了)

100opts

对于传统问题(即没有偶数长度要求的链覆盖)

可以把所有奇数度数点两两相连(虚边)

因为奇数个数点的度数为偶数

所以连完之后的图所有点度数都是偶数

在这张图上求一个欧拉回路 再删掉所有虚边

得到的就是链覆盖

现在考虑加入偶数长度限制

原图必然能被若干个长度为2的链覆盖 否则无解

在做一个任意长度为2的链覆盖后

把所有的链 即形如(u, p, v)(因为长度为2嘛)

缩成(u, v)

因为这样缩会中间点(即p)度数减2 其余点度数不影响

所以仍然可以用原来的方法做链覆盖

这时得到的所有的链显然在原图中长度为偶数

对于这道题无解的判断

首先,每个点的点度是奇数

其次,总边数一定是偶数

问题有解当且仅当同时满足这两个条件

技术图片

PrayForKyoani

正睿19暑期B班DAY8 测试DAY1

标签:pts   要求   方程组   fork   覆盖   剪枝   mission   最坏情况   https   

原文地址:https://www.cnblogs.com/hjmmm/p/11299099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!