友链:Mine_King の NOIP 游记。
Day 998244352 (2024.11.28)
最后一场 noip 模拟赛,怒挂 150 分,RP 叠满!
Day 0 (2024.11.29)
入住水晶桔子酒店,联机开了一晚上 MC,7 个人一起点了夜宵。
Day 1 (2024.11.30)
昨天晚上没睡好,感觉是太热导致的。进场前猜测今年难度和去年差不多。
进场后,发现对面坐的是 ZJ-0001,左边第二个是 N_z__。
开题,T1 直接先贪心匹配至少 1 个固定的位置,再匹配 2 个都没有固定的位置,写完发现样例爆了。怎么是交换相邻两个!顿时感觉竞争力丧失,然后直接猜了个从左往右能匹配就匹配,然后发现能证,写完直接过大样例了,但是已经过去 30\min,并且似乎只会指数级暴力,就没有拍。
接着看 T2,发现是奶题,很快就写完了。
然后看 T3,k=1 很好做,k=2 可以容斥,但是感觉容斥不太优美?然后开始思考一些非容斥的抽象东西。发现始终不会 k>1。于是尝试先开 T4,发现是 DS 题,一眼不太会,感觉得找支配对。再看一眼就 dsu on tree 整出了 \Theta(n \log n) 个支配对,然后就扔了继续想 T3。此时过去了很久,身边的人一直在敲键盘,非常急急急,一度认为自己要退役了。
强迫自己冷静下来,去看 T3 的部分分,k=2 可以容斥,k\le 8 也可以容斥做到 \Theta(2^k\cdot n),然后这个容斥可以套 dp 里面直接 \Theta(n)?我前面在想什么?
去上了个厕所,回来开冲 T3,树形 dp 细节比较多,调了挺久的,最终在 11:40 左右调出来了,竞争力回归了一点。
身边的人又开始敲键盘了,意识到 T4 大家都会,开始狂冲 T4。发现每次新增一个极长区间会将一对 i 和 i+1 合并,所以支配对是 \Theta(n) 个。然后胡了胡,感觉直接 i 和 i+1 之间连 \mathrm{LCA}(i, i + 1) 深度边权的边,建 Kruskal 重构树,每个子树所代表的区间整出来就能找出 \Theta(n) 个支配对。然后考虑怎么做,感觉直接做是三维偏序,于是直接套了个整体二分上去。当时以为内部能做到 \Theta(n),就直接开写了。
写到只剩下整体二分的部分时是 12:05,突然感觉自己优势回来了。但是写整体二分时发现不对劲了,\Theta(n) 的那个假了!推了很久还是不会正经的 \Theta(n)(其实当时已经把三维偏序推到二位偏序了,但是由于外面套了整体二分所以还是只能 \Theta(n \log^2 n),或者上个四毛子做到 \Theta(n \log n) 但显然写不完而且常数看着就很大)。再次急急急,不知道该想正解还是拼暴力。再之后直接放弃正解,变成了不知道该写 \Theta(n \log^2 n) 还是拼暴力,不敢面对写完 \Theta(n \log^2 n) 后发现调不出来的情况。当时感觉退役似乎也没什么,开冲 \Theta(n \log^2 n),选择了我认为最好写的单调栈上二分。写完之后并没有过样例,先在整体二分内部用 \Theta(n^2) 的暴力,发现能跑过前两个样例,增长了一点自信,至少其它地方没有写假。然后开调,发现是单调栈上的那个二分写反了,写完之后过了所有样例。发现第四个大样例只要跑 1.5s,但感觉纯粹是单调栈长度没卡满,估了个 364 分。
出来之后发现绍一没有人均 AK,查询战况后得知,除了 cyf AK 外,绍一其它同学似乎和我差不多。
出考场时猴汁说他 T1 做了 2h,撸哥说他 T1 没调出来,有毒说他 T1 写了 3k?完了我 T1 不会是假的吧?然后就非常鱼鱼蒸,晚上看到 LA 群里讨论,似乎是有群 u 和我 T1 做法相同的,稍微安心了一点。
现在看到 MK 和我 T1 做法一样,于是可以发游记了,至少 364 应该没问题。
下一站就是省选了,没有 C 类,我该怎么办?
Day 7 (2024.12.6)
出分了,100+100+100+92=392,T4 竟然不是 TLE 而是 MLE,感觉是递归函数传参传了一堆 vector 导致的。
看起来是上队线了,下一站,省选!