NOIWC2021 游记
这可能是我初中的最后一场 OI 比赛了。 —— NOIP2020 游记
啪!啪!啪!
作为一名刚经历市内一检的颓废 OIer,我本已制定好寒假的老年摸鱼生活。
第二天起来,“诶,三天之后是 NOIWC 啊……”
因为疫情的缘故,这次冬令营课程放在线上举办,我也因此获得了参营的机会。
不过一想到我是和哪些人参加比赛后,口中只蹦出了二字:害怕。
最后,我带着必垫底的心态,开始了冬令营生活。
2.5 比赛日
听课日的记录以后找时间补吧。
$7:25$ 坐车出发了。
比赛地点在 FZYZ,位于 FZ 郊区,所以路上不是很堵,大概 $7:50$ 就到了。
然后和学长一起聊天,玩 游 戏。
打开电脑,???我的电脑为什么没有 C++?
老师:这个位置一直没人坐,所以啥都没有,反正 FJ 不算成绩,就开网络自己下一个吧。
我:……
$8:20$ 进了网站,之后便开始了比赛。
打开 pdf,三题时间限制都是 $1s$,空间都是 $512MB$。
三题都看了一遍,决定先写 T3 的暴力。
T3 说是找到第一个模 $m$ 为 $0$ 的斐波那契项,有 $n$ 组数据。
算了算,找个循环节要 $m^2$,多测合计 $O(nm^2)$,对于 $n,m \le 10^3$ 岂不是直接爆炸?
不过写了个程序拍了拍发现循环节根本跑不满,一组数据平均不到 $0.1s$ 就算出答案了。
然后想过 $m$ 为质数的部分分,感觉不太好写,就先放弃了,跑路看前两题。
看到 T1,诶为什么 $32$ 分的数据范围那么小啊,看着那么像指数级别的暴力?
看到题面,我的策略是最多走一次环,走完一条边不立即走它的反向边。
然后花半小时多写完了 T1 的暴力,结果第二个样例没法过。
手绘了样例,结果发现算出来的结果和我程序的错误答案一样……
许久后,我才惊醒:哦,环可以不止走一次。
就好比我走完一次环,我相比走之前净获得一个右括号。
那么走两次,就可以相比走之前净获得两个右括号。
如果我在到达环之前缺了两个右括号,那就可以通过走两次环来弥补!
但是有一个严重的问题,如果我允许跑环过多次,即使是 $m \le 10$ 也会 TLE。
我知道为什么数据范围那么小了……
经过多次试验,我在程序上设置了不得在环上跑超过 3 次。
这样可能会挂分,但也没办法。
看了看右下角,快两个小时过去了,赶快看 T2。
表达式求值 + 数据结构?
第一档分,没有问号和括号,出题人实属良心。
第二档分,有括号,那不就和 CSP2020-J 的 T3 暴力差不多吗,一起打了,合计有 $35$ 分了。
此时三个多小时过去了,我暴力也差不多打完了,然后我就剩下时间都拿来摸鱼?
想了想好像不太合适,就看看哪些分可以打。
看到 T1,啊,$k=1$ 不会做,溜了溜了。
看到 T2,啊,$n,|E| \le 5000$ 好像开栈会爆空间,溜了溜了。
看到 T3,……我好像没得溜了。
然后我就选定了 T2 的 $n=2$ 且没有括号的分来做。
当时做题的心态就是:写几行代码就脑子短路一下,最后搞出来的代码坑坑洼洼,原本 2K 的 T2 代码变成了 5K。
调代码的时候心态是真的崩了,不过最后终于调出来了。
用近两个小时的时间加了 $10$ 分,没有白费。
大概 10 分钟后比赛也就结束了。
预估:$32\downarrow+45+20=97\downarrow$。
2.6 出成绩日
$32+45+20=97$ 竟然一分没挂。
不过看了看总体水平,这次全体平均分接近 $90$,金银铜线分别为 $158,118,70$。
FZYZ 有 7 人拿奖,其中有一个全省最高。