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

「考试」省选模拟13

时间:2020-01-30 21:04:41      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:class   状态   端点   复杂   集合   情况   输出   span   ash   

在家的又一场。
状态还是一般吧。
自己扔了30分。

T1
比较厉害的\(dp\),考场上想到了,结果因为细节太多就没有写(真的是多)。
他其实就是个基环树dp。
我们首先断掉环上某个边,然后进行一次最大匹配的\(dp\),然后这样要求这个边必然不选。
另一种情况是这个必然选,那么这条边终点的出边必然不选,再次断那个出边 再\(dp\)一次得到答案。
考虑如何输出方案。
对于一个位置我们记录这个点的最大值出现在\(0/1\)上。
然后根据这个找到最佳方案所依赖的子节点方案。
即可输出方案了。

T2
是hash的题。
枚举答案区间中的颜色集合。
对每个位置开个桶,记录一下当前位置的前缀和。
然后根据这些位置和集合中最后一个元素的前缀和的差进行hash。
存放入hash表中即可,对于某一个右端点快速的查询对应最优的左端点。

T3
被我用随机化过了,有人写2-sat,也有搜索的。
随机化出序列,然后贪心的加入两个集合,就是枚举加入哪个集合使得当前答案更小即可。
这样多做几次
使得单个询问复杂度为2e8就能过了。

「考试」省选模拟13

标签:class   状态   端点   复杂   集合   情况   输出   span   ash   

原文地址:https://www.cnblogs.com/Lrefrain/p/12243593.html

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