CSP-S 2020 / NOIP2020 游记

今年主要是想看看相比去年有没有什么长进, 当然也不抱什么希望.

实际上结果还是跟去年差不多……

CSP-S 2020

Day -27

初赛.

选择题比较简单, 后面的读程序和完善程序就挺摸不着头脑, 很多题可以说都是蒙的.

读程序第三题竟然写了类…… 不是说好的NOIP不考C++ OOP的吗 (, 好在之前也学过

完善程序第一题也还好, 第二题同样理解不能

这次发现第一次参加的OIer特别多, 似乎在场的除了我也没几个是参加过三次的老选手了

出考场骑车回家的路上还险些出事 ( (

Day -24 - Day 0

最后刚好60. 我妈还在那里说“为什么比上次低了两分”

接下来的三周可以说每天下午上晚修前都在学校机房刷1hr的题. 这次吸取了上次格雷码的教训, 就是使劲切历年TGD1T1, 甚至离开机房还有点意犹未尽……

当然也在复习一些数据结构之类的, 比如线段树和树状数组 神奇的是同机房的大佬们竟然都没听说过, 然后他们大多都在机房摸鱼

就这样, 抱着AC T1的目标……

Day 1

考场在我市郊区一个新建的学校那里 (我省公认最强的OI教练还被挖过去了, 听说有专门的信竟班, 一整层综合楼都是机房).

甚至考前0.5hr还在看luogu上那些自己AC过的代码

T1 一看是个大模拟, 但似乎数据范围大了点…… 花了1hr写出了正确的模拟, 但实在想不出怎么优化了(试过对于特殊时间点打表保存但似乎结果会乱掉), 就只能先看别的题了

T2 同样很快写出模拟但想不通怎么优化了. 一看似乎是状压, 参考状压写法写的 而且似乎没看出本质, 傻乎乎的以为饲料编号什么的matter

T3 一看是个线段树, 但正要开始打线段树板子突然感觉有问题, 想了一会儿发现越想越不对劲 (主要是因为要输出整个数组), 就…… 又写了个大模拟…… 中间参考懒标记的思想稍微写了个迫真懒标记 (当然考后复盘发现没什么用)

T4 没时间想了, rand()滚粗, 后来才知道有20pts可以骗 ()

出考场至少感觉跟去年相比能力提高了不少 (指代码能力), 不过自己很清楚, 这次肯定又没法1=了.

Day 1.5+

发现我校一位去过去年WC和NOI的大佬似乎T2想出了正解…… 我校的OIer们也在给我科普T4怎么把那20pts骗到手, 而且后来发现大多数人都卡在了今年T1上…… 注意到同考场的很多人连大模拟都没写出来, 还是很意外

洛谷自测(民间数据和官方数据都是)80, 心想或许能水个1=.

Day 11

最后省二谢幕.

主要原因是T1爆零了…… 我寻思洛谷自测还有30pts……

怀疑是ccf评测机卡常的问题, 去申诉却没给过, 就告诉我一句 “请使用比赛指定的环境进行评测”, 意思大概是之所以洛谷上能过是因为人家评测机太好了

ccf少爷机是真的…… (虽然三年前升级过配置)

一看ranking, 1= 最低分数线60……

垃圾ccf还我1=!!!

我教练也为我打抱不平(?), 说1=线才60确实离谱, 怕不是给了其他学校优惠名额 (?

至于T2…… 说是跟格雷码一样都是签到题…… 结果还是没想出正解, 太菜了. 后来有人告诉我其实有40pts是跟样例的情况差不多一样, 很好骗, 我记得似乎是当时在考场上想优化的时候无意中想到了这个才拿到了40pts…… T1那些玄学数论优化题解至今依然看不懂 (

总之就这么水了个省二. 可能是因为教练推荐我校四个有分的同学 (包括我) 都成功晋级NOIP2020. 那位大佬最后T2几乎AC (怀疑是没考虑溢出的情况), 又以120pts拿下了1=…… 唉…… 后来在机房在那位大佬的指点下看了点题解然后自己写了一遍T2(又看题解debug), AC. 看来还是要学习一个啊 (

之后还是抱着能AC T1的愿望去了NOIP.

NOIP2020

Day 0-

考前还是有点紧张. 在机房也开始尝试切一点历年TGD1T2之类的了.

哎, 终究还是太菜, 以至于看到大佬们摸鱼看bilibili的时候又有了写码的动力 (.

Day 1

再次来到了相同的考场, 拿了一纸袋吐司和两瓶矿泉水

进考场前教练还给我们校队的人安排上了合影. 发现我校一个CSP爆零的大佬也在这里 (当然不知道是怎么进的).

这次可以说绝大部分时间都花在T1上了. 一看到题第一反应是bfs + 模拟分数计算, 但恰恰在这个时候忘了gcd怎么写, 浪费了很多时间在调试分数计算这一块上.

后来开始写核心部分发现bug一堆, 想了一会儿不知道怎么解决, 就先看T3了 (T2和T4都读不懂题).

一看有两个n=2的测试点. 好耶! 0.5hr写了两个栈模拟过了.

回到T1. 依然在想, 画图模拟了好半天, 终于在最后1hr发现了问题所在, 过了样例1. 样例2发现输出2吨水 (膜法), 还在想什么原因, 结果在结束前最后15min发现是因为bfs有重复入队, 在最后7min的时候过了样例2. 确实极限 大样例没超时但似乎WA了, 也没时间管了.

出考场, 跟同学讲T3有10pts可以骗, 他们都质疑我的做法, 还表示T2和T4都写了点暴力. (我是直接空在那里了.) 回家路上跟那位CSP 120pts的大佬交流, 自己又知道, 这次拿不了奖了.

Day 4

最后果然没奖. (2=最低分数线60)

这次似乎没人 AC T1, 而且T3那10pts竟然骗到手了 ()

后来一直在想T1正解, 跟一位今年第一次打的新OIer交流了不少 (全省T1得分最高的一位, 拿了1= 我竟然打了三次都没拿1=, 太菜了), 在一节语文课上突然想到了正解是拓扑排序…… 回家就花20min改了下考场代码提交了. 60pts, 剩下的就是高精的问题了. 看题解确认了正解就是拓扑排序, 只不过需要高精, 不少人直接写 __int128过了, 但我还没试.

我妈还鼓励我说 “所以你看, 普及+/提高的题你不也会做了吗”. 确实, 要知道格雷码这样的普及-的题我也是好几个月都想不出来 ()


今年最大的感受是代码能力有了明显提高. 虽然对于很多题还是一如既往的没思路+不会写, 但似乎开始有了些许改观.

最后祝 NOIP2021 rp = 0x7ffffff 吧. 反正离退役也不远了, 还是希望能在退役前去一次NOI.