在考完了最离谱的一次月考后来写一下 noip 总结。月考真就安详罚坐
DAY 1
8:40-9:05
顺序开,先写 t1。
先意识了一下会在 \(10^7\) 那里卡一下,后面发现预处理到 \(10^7+1\) 就好了。
首先以为是个什么线性筛的东西,瞎糊了一下,写完发现假了,于是直接写类调和级数,发现能过,于是就去看 t2。
9:20-10:30
怀疑人比较不清醒,就先写 t2 的 \(O(m\times n^2\times2^m)\)。
写了发现过不了样例,然后发现自己枚举了每个数是什么,于是就 11
和 11
重复了。
于是改成枚举每个数放几个,再乘上一个重标号的组合数。
发现这时候低位进位后就不变了,于是就会了,但是还是打算先写了这个部分分。
结果就是调不出来,想了想,决定滚去写正解,然后又调不出来。
发现 pcnt[j]
写成 !!j
,不知道是怎么想的,但是改了之后还是不对。
有点要崩溃的感觉,不会要因为调不出来一道简单题直接白给吧。
紧张到头晕,冷静了一下,思路应该是没有问题的,所以肯定是哪个细节有问题。
发现是之前有个地方以为 0
要分开转移,结果发现又不要,然后最后忘记转移 0
了。
终于过了,把之前查出来的错误调回去,发现也能过样例,细思极恐。
接下来的所有时间
首先把 t3 的答案表示成了 \(n\times\sum_{i=1}^na_i^2-(\sum_{i=1}^na_i)\),然后由于没有想法就先写了个暴搜。
在测试样例 2 的时候爆栈了,于是开了无限栈。
这时候发现复杂度是 \(O(状态数\times n)\) 的,决定改成 \(O(状态数)\) 的。
然后由于判重写挂了,电脑它直接死机了。
第一反应是现在不算太晚,前两题代码也不长,不要太慌张。
举手问监考老师,老师说你重启吧,我问代码还会不会有,他好像没有给确切回复。
这时候我发现电脑没有完全死机,就是那种动一下鼠标,过很久很久很久光标会动一下,于是试图 Ctrl+z
,当终端上显示:已杀死的时候,松了口气。
改好了这个判重的问题,加了一个卡时间后,觉得先去把 t4 的暴力写了。
然后直到最后也没有调出来 t4 的暴力,最后写了一个 8pts 滚粗。
lk 说 t3、t4 都不会,那看起来不会被神仙们锤得太惨。
cxy 好像考得不错,zxy 好像和 wrp 一样肝 t4 然后结果不太妙 QAQ。
和 Qiuly、wrpwrp 在外面溜达了一下午,顺便给 YL 的神仙发了好友申请。
很快就有了民间数据,t1 和 t2 没挂,反正不退役了,剩下的,之后再说吧。
DAY 24
出成绩了,和小图灵上一样,100 + 100 + 32 + 8 = 240,省排去集训队 rk22,还有救。
我校有 2 个在队线里的,虽然有点考靠后,但总的来说是个好的开始,祝所有人好运吧。
hh 太演了, 70 + 50 + 100 + 100 是想干嘛。
总结
- 虽然考的相对而言一般般,但是出了不少失误最后还比较冷静地拿了 240pts,对于个人来说,也算是做得不错?
- 策略上也没有什么失误吧,毕竟在 t3 没有什么思路的情况下,写 t4 的暴力应该是最优安排
有好多人说 t4 时间留少了是我没想到的 - 主要失误是没想到差分和没有写出 t4 暴力?
- 前者暂且不考虑,因为原计划写了暴力之后再来想想;
- 后者是最后 2.5 h 拿 40pts 的直接原因,但是当时确实没有 bfs 顺序会有问题这个意识,也没能从错误结果倒推出错误原因,回想考场上的状态,可能真的没救,只能是现在记下来吧。
- 没什么要后悔的,努力准备省选就是了。