NOI2021 游记
白摆拜拜败摆摆
先诈尸,说不定会更新呢。
以下是考试总结。
NOI2021 考试总结
Day 1
先写的 T1,但是开始没有想到怎么写 T1 ,然后就先写了一个 \(O(nq)\) 的 暴力和线段树维护性质A(链) 的部分分,然后发现可以转化一下问题,维护时间戳,这样就可以让 \(O(nq)\) 的暴力更好写,于是性质 B 也会了,只需要用树链剖分维护所有点的标记就行了,再想了一下怎么写正解,发现在再开一颗线段树维护每条重链上除了链顶的答案,每次跳的时候再计算链顶的贡献就行了。
于是全会了,但是已经过去了 3.5 小时了,代码长度已经到达 7.8 KB,写了个拍,拍了 1 万组,没什么问题,就写剩下的题去了。
此时剩下两道题 ,只能打暴力了。
对于 T2 , 发现可以用状压 DP 写 \(n \le 10\) 的 \(k = 2\) 和 所有 \(n_i\) 全部相等的情况,大概有 40 分,然后就写 T3 了。
T3 看到题,就想到了 缩点 , 于是写了个 tarjan , 然后再拓扑排序一下就有了 \(O((n + m)q)\) 的解法,感觉有 36 分。
此时,时间已经有点紧张了,我就没有怎么注意题目的性质,没有发现缩点之后就是一颗树,于是实现上走了点弯路,最后在下考前 7 分钟调了出来。
day1 预计得分 \(100 + 40 + 36 = 176\) , 最终得分 \(100 + 40 + 28 = 168\) ,T3 有两个点 T 了,好像也有一些人被卡了。
晚上讲题的时候发现,T3 的分类讨论是有很多分的(比较好写的有 60 分左右 ?),但是时间不够了,看来 T1 还是要写得更快一些。
Day 2
开场 看 T1,感觉只会暴力,然后写了一个 \(O\left(nm\frac{256}{\omega}\right)\) 的暴力,想了一下再写了 \(k = 1\) 的暴力,然后感觉可以利用某些 根号算法平衡复杂度,当时还注意到 \(maxk^2 = 15 ^ 2 = 225\) 与 \(256\) 十分接近,但是没有想到 \((maxk + 1)^2 = 16 ^ 2 = 256\) ,于是想了怎么枚举前面几个来平衡复杂度,但是没什么进展,就去写后两题了。
T2 因为被维护分数结果并且最后取模吓到了,没有注意到实际上那个分数根本不会约分,然后就写了一个维护分数的暴力,性质分也没有推什么,现在感觉当时还是 too young too naive 了,最后 T2 爆零了,感觉血亏。
T3 写了一个暴力然后推出了一个性质分,我之对 m = 1 的情况测试了一下,m 再大的情况暴力没法跑,因此不知道能不能过,然而最后也没过 。
之后一直推 T1 ,曾经一度有思路,然而被我直接叉掉了,差点想到分块统计,但是没有注意到可以抽屉原理,想不出来。
day2 预计得分 \((36 \sim 44) + 20 + 28 = (84 \sim 92)\) ,最终得分 \(36 + 0 + 12 = 48\) ,炸飞了,T2 boom 0,T3 性质点没对,然后又有一个点 T 了。
感觉主要是 day2t1 平时没有见过类似的题目吃了大亏,以及被 t2 的约分吓到了然后没有发现不会约分的性质,总之,day2 挂飞了。
不过,好像擦线苟上 Ag 了。