NOIP2025游祭

· · 生活·游记

开考前

考前前往考场的路上,把各种目标都看了一遍,就是没看对拍代码。

刚进考场以为能试机,才发现电脑被黑屏安静了,于是干呆了 20 分钟。

T1

开考后,看到第一道题,立刻想到了直接选可选的最小值。连样例都没手模直接开写,后发现会被样例hack。

于是开始写第二版代码,具体是什么忘了,但是又被数据了,依旧是从根本上就错了。

为了找到小点的hack数据,便开始写对拍。 但是我把调用程序的代码写成了 system(".\shuju.cpp");,发现 notfind。于是开始调对拍代码,调了 5 分钟没调出来。

后来人工随机了几组数据把自己hack了。

于是开始写第三版代码。

依旧被数据hack,人工随机了几组都不能卡掉自己,于是继续调对拍代码。

期间,我尝试了:

system(".\shuju.cpp");
system("./shuju.cpp");
system("noi://shuju.cpp");
system("shuju.cpp");
system(".\shuju.exe");
system("./shuju.exe");

终于,我看到了文件名,发现运行程序的文件名是 .o,恍然大悟,改对了对拍代码。

调对拍代码总计浪费 30 分钟左右。

找到hack就开始写第四版代码,终于通过了数据和对拍。

11:47 切掉T1,耗时 3 小时 17 分钟。

T2

考虑正确顺序与错误顺序的差别,没考虑出来……

写了个 12 分暴力。

T3

写了个暴力但是炸了,距离结束还有 10 分钟,觉得调不出来就看到T4,发现T4暴力比较好写,于是开始写T4。

T4

暴力确实很好写,只不过当我提交时,才发现比赛已经结束了 30 秒,交不上去了。

反思

本次比赛的策略及其错误,具体表现在:

  1. 没有想好再写;
  2. 重要板子(如对拍)没有熟悉;
  3. 因T1耗时过多,非常慌张,以至于后面的题都没好好读,炸掉的概率很大;
  4. 没有先看完所有题并分析难度,导致在写T4暴力前先写了T3暴力

对此,我总结出如下经验:

  1. 写代码前一定要理清思路,手模样例,想好再写;
  2. 一定要认真熟悉板子,尤其是例如对拍,快读快写,这些必备板子;
  3. 时间不够时,不应慌张,而是分析题目难度,先写有把握能骗分的;
  4. 在考试开始时,应先把所有题都看一遍,并分析难度。

一些吐槽

考场的上课铃响个不停,吵死了……