暂别了,OI —— CSP 2022 游记
启程
10月28日晚上5:15,从学校出发。白天学校里开了半天运动会,趁着下午再复习一下。早早出了晚饭。路上要开3个小时,晚上借宿一家酒店。
路上几个小黑子同学在打一些不知名的游戏,精神饱满,硬是玩了一路。或突然大叫起来。在车上只睡了一个小时,以免晚上睡不着。时节已经入秋,天早早的就黑了。
醒了以后还在打游戏。于是带上耳机听音乐。
也好久没有上高速了,突然发现路牌都会发光了,甚至能显示到达时间,太高级了。
晚间的路没有什么私家车,基本上都是大卡车,送货的。
10月29日早
早上六点四十五起来洗漱后浏览了一下信息,去吃早饭。7:25集合出发。
来到绍兴一中,在大门排队,先在二楼休息室等到八点,然后再到三楼,进入考场。(间隙的时候去隔壁偷瞄了一眼,一堆卷王在上课)
8:00
找到了自己的机位,刚好在一排的末尾。电脑上已经打开了一个窗口,D盘里已经建好了选手文件夹,E盘里是考试须知和一个题目压缩包。本来以为组委会怎么那么不严谨,题目直接放盘里了,不敢打开。后来老师说开考了以后会有压缩包密码,才放下心来。
机子是i5,内存竟然有8G。系统还是win7,里面预装的软件也和自己学校机房的一模一样。
8:28
压缩包密码下发,是 mountain2022
。解压以后还不能答题,只能看。快速看了第一题,大概是普通快递幂,然后特判一下信息。第二题是一个一元二次方程。然后就开考了。
注意事项里竟然上衣ccf的机子能有12代i7合32G内存,太良心了。
8:30
铃响了,然后就是一堆人开始敲键盘,排山倒海,浩浩荡荡。第一题花5min先写了快速幂的模版,然后再加了好几处特判,小于0的判了。15min,过了大样例。
另:大样例怎么没有换行,用freopen又能正常读取?是因为这个换行是Linux下的换行吧。本人选的Windows系统。
写第二题,将式子展开,算了delta,又推了一遍求根公式。发现如果算出来的不是整数也是输出NO
。过了大样例。
看了第三题,一个大模拟,算来算去,太烦躁了,先写第四题。
第四题一看是个dp,在草稿纸上画了点的坐标,写下dp的内容。编写代码,中途小改了下思路。写了一小时,过了大样例。
10:20
挑战第3题。看上去是用栈模拟操作,很早以前也写过这样的计算器的题目,但是这道题还要求求短路,感觉没有什么思路。还是使用递归,花了50分钟,过了前面几个大样例,但最后一个T了。
递归的思路中是要每一层都把字符串扫一遍,所以导致了超时。如何解决呢?冥想用ST表?J组能用ST表??然后一个较为简单的思路是,对于字符串的每一个位置预处理出它上一个符号的位置,就能O(n)了。
11:10
开始优化。写了足足30分钟,bug调来调去,程序还停止运行了。还是稳一点,放弃了更改,检查一下。
11:55
监考老师刚好走过,举手请看一看文件保存目录是否正确。
“你打开看看?应该是这个意思……”我打开了两个,人就走了。
“??……”
铃响,OI生涯就告一段落了。
下午,风景区
像我这样菜的只配参加普及组,下午便去柯岩风景区了。
要和OI暂别了。或许高中还有机会,不过这次普及组拿个省一也算是一个圆满的句号吧。