CSP-S 2020 花式垫底记
7年OI一场空,一句assert见祖宗。
Day1
进场,发压缩包,密码一直不对,改了好几次,最后发现外面还有(),绝了。
读了遍题: - 这T1什么「消音」,感觉不太好写。 - 这T2好像不难,咦怎么又有\(k\leq 64\)。 - 这T3有点鬼畜,能线段树合并吗 好像不能,能不能把记加法标记改成记全局乘法呢,好像倒过来就行了? 那是不是倒过来之后用拓扑序算贡献就行了 - 这T4看着有点离谱,咦\(70\)好像可以直接模拟,\(O(n\log n)\)如果手写平衡树或者优先队列有机会过吗?
看着就没有写的欲望。
把T1丢了,准备写T2。 写了一会感觉很烦就去写T3了。
T3写完之后准备写T2,也不难写。不过有个\(n=0,m=0,k=64\)的case素质有点差(
然后写T1。想想怎么写比较舒服呢?
1600年1月日好像也就不到\(3\times 10^6\),那就把到1600年1月1日先预处理出来?
后面每400年就是一个周期,那就把一个400年预处理出来?
剩下的就很好写了。
还剩个T4。
先写了个\(n\log n\)的,大样例要0.8s,极限数据要20s,开O2也要10s
那没救了。
操作序列怎么求出来呢。
咦是不是每次减出来的都会更小,能不能双队列呢? (伏笔)
好像不对,如果减完是最小值下一步就可能比它大了。
那这个结构长啥样呢 感觉很鬼畜。
能不能不求呢?
然后我就写了。不知道为啥加了个assert,然后还能拍上,于是就忘记删了,于是没了。
出考场以为AK了。然后和群友讨论了下做法,觉得我做法对了。
然后拿代码测了组数据Assertion failed。
????????????????????????????
死了。
发现了一个显然错误的assert。
于是现在只能保证20分了。
垫底了。