SD6.20集训总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SD6.20集训总结相关的知识,希望对你有一定的参考价值。
ok 今天不是很困 有一个很好的开始
我好像发现了一个事,我很怀疑我的困意是否是由今天的题是否套路决定的(身体自动检测题是否套路 不套路的话就帮我释放困意)
怪
时间安排
8.10-10.00
看题 感觉都还挺做的 显然T1 log左右 T2 是个矩乘(n^3 感觉很像) T3应该是个分块 (1G)
然后推了推T1 想了个二分+线段树做法 感觉跑log^2有点危险于是又想了一会 但还是直接写了
然后一测试4s 危
10.00-10.20
考虑到不带修rmq直接st表做就好 秒少1log
于是我狂改 改完之后又加快读 最后就0.6s了
10.20-11.00
想了一会T2 T3,T2会做状压分,T3想了一会 感觉nq 但又有点没想法
11.00-12.05
写了状压 跑了跑数据发现这个没法过20 而且突然发现k=5那一档我这个数组开的不对。
突然一呆(计算器摁错了)以为k=5那一个要单开写 越写越怪(发现复杂度一样啊) 然后手算了算 发现不用单开。
浪费了我的宝贵时间(怒
12.05-12.50
想了一会T3 反应过来可以双指针 搞一个桶 cnt 双指针维护就好(不合法的时候挪动指针 长度不增)(30
然后nq的做法过了50)
题目分析
T1
考虑对于 a [ i ] a[i] a[i] 找到最近的后继 x − a [ i ] x-a[i] x−a[i]
然后二分它可控的区间
同时为了避免重复计算答案 二分时需要注意一下
T2
考虑状压dp f [ s , x ] f[s,x] f[s,x] 表示用的按钮集合为 s s s 当前在点 x x x 的方案数 注意到 因为大的只能恢复小的 最终大的一定无法被复原,所以答案一定有限,状态也一定从小到大
然后dp!
T3
考虑双指针 然后如果 r − 1 r-1 r−1 之后 答案变得不合法了 那么让 l + + , r + + l++,r++ l++,r++ (区间只有变小才可能成为更优秀的答案)
感觉今天的成绩是比较中规中矩的 发挥正常的(甚至T3还超出了一点我的想象)
不过如果更好的话 可能是希望T3多做一点比较切合实际(看榜也是这样)
以上是关于SD6.20集训总结的主要内容,如果未能解决你的问题,请参考以下文章