NOIP 2023 游记

· · 生活·游记

人物介绍见这一篇。

赛前篇

在期中考试后(11 月 11 号)开始停课,今年停课时间比往年高三要晚很多,这有很大的原因与高三只剩我一人有关系吧(薪火传不下去了)。因为 11 号有洛谷 NOIP 模拟赛,我也不得不在这个时候停课了。

11月10号及以前

我也曾无数次幻想过停课的生活是怎样的,像历届的高三那样,停课之后可以整天在奥赛室潇洒的写代码,不用管班主任和老师们每天给学习施加的压力,甚至连校服都不用穿,有时还可以无视学校的作息和吃饭时间表,自由分配自己的时间……

但是今年不同于往常,今年高三只剩我一个人,如果直接(CSP 结束后)停课,那我不得无聊死。。。于是只是在 CSP 之后停了晚自习,一共不到一个月的时间,用来备战 NOIP。

“这次我们不得等到 18 号放假?”各种舆论在快被学校榨干的学生们口中传播着。我上一次(CSP-S2)正好把那个月唯一一天的假期给耽搁过去,时隔 28 天,不会悲剧重现吧?

但事实并非如此,在此之前还有 15 号之前需要把高考报名填完的听闻,使我渐渐地不信了这个不知从何传出的谣言。

班长:“11 月 18 号要召开成人礼,大家通知家长都准备一下。”?????成人礼?????18 号?????啊怎会如此,和我们学校并列的重点高中莘县一中可是在高二就已经召开成人礼了啊,这学校怎么这样,钻我空子。。。但这好像是高三为数不多的大活动啊,怎么能这么就。。。

那岂不是。。。

写到这里仅仅是我当时的想法,之后还会有转折吗不清楚。

11月11号

这天放假,但是

【LGR-165-Div.2】洛谷 NOIP 2023 模拟赛 时间11月11号下午 14:00~18:30.

那我还要回学校?

于是上午刚放假的我还没休息一会下午又来到了学校,来打模拟赛。

这题怎么。。。离谱。第一次见 T1 考数论,还是数论+贪心,这两个算法是怎么联系到一起的呢。预计最优得分 100+5+12+0=117 pts,实际得分 100+5+12+0=117pts,T1 数据显然水了,我赛时打的很麻烦,虽然方法跟正解一样,但是实现上却差了很多,甚至

void ai_shai()
{
    vis[0]=vis[1]=1;
    for(int i=2;i<=1e4;i++)
    {
        if(!vis[i])
            prime[++tot]=i;
        if(i<=100)
            for(int j=i;j<=1e4;j+=i)
                vis[j]=1;
    }
//  wr(tot),putchar('\n');
    for(int i=1;i<=1e4;i++)
    {
        for(int j=1;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                cnt[i]++;//,wr(j),putchar(' ');
                if(j!=sqrt(i))
                    cnt[i]++;//,wr(i/j),putchar(' ');
            }
        }
//      putchar('\n');
    }
    for(int i=1;i<=1e4;i++)
    {
//      wr(i),putchar('=');
//      int flag=0;
        for(int j=1;j<=tot;j++)
        {
            int now=i;
            if(now%prime[j]==0)
            {
//              int cnt=0;
//              if(flag)
//                  putchar('*');
//              flag=1;
//              wr(prime[j]),putchar('^');
                while(now%prime[j]==0)
                    jin[i][j]++,now/=prime[j];
//              wr(cnt);
            }
        }
//      if(!flag)
//          wr(i);
//      putchar(' '),wr(cnt[i]);
//      putchar('\n');
    }
}

又把欧拉筛忘了的我于是有了这么一段代码:埃氏筛暴力,整个算法下来好像是 O(n^2) 的,其中 n\le 10^4。这已经到 10^8 数量级了啊,但凡常数大点就要 T 了。最后 25 个点 3.64s 险过。(有的大佬 25 个点 87ms,这但凡常数再大一点我是不是要炸?)

最终洛谷排名 285,20\% (一等)线为 110pts,但是由于代码运行时间的缘故,总是觉得心里不踏实。

最终难度评为:绿紫紫黑(最高分 326pts)。这洛谷也真敢这么玩。

11月12号

按照原计划这天开学,上午我把高考报名的事情处理完毕后于是就来到了奥赛室(甚至这天都没回教室),来参加 云斗学院的 NOIP 模拟赛,这次比赛更离谱,T1(C) 我都不会做,最后好不容易打出来的暴力样例过了,但是交上 11AC 9RE,我甚至不知道它为什么会 RE,调试的时候总是出现异常跳转(不该往上跳却往上跳),我也没太多在意,进了云斗的 QQ 群里面看了看题解,发现确实这题离谱,之后就没再管它。

高二由于 14,15,16 三天要期中考试,甚至不能参加赛前集训,这不就相当于没停课嘛(他们也都不想参加期中考试,因为必然要废,也没复习,这段时间放在 OI 的精力比较多)。晚上老师没说让他们来,但是在我跟他们的商量之后,决定将计就计,晚上就没走,老师看见也没多说什么。

晚上放学后我跟老师汇报了高二的状况,并向老师申请取消高二参赛三人的期中考试,在商量后老师决定第二天试试看。

回到宿舍我在和宿舍舍友交流的过程中我大概明白了它为什么把成人礼设在 11 月 18 号周六而不是更应该有闲暇的 19 号周天:它显然不是在有意针对我,而是凑这个 18(成人) 这个数字。啊真的服了啊。

11月13号

这天早晨我回教室上了半个早读,给班主任招呼了一声(甚至还打扫了卫生),但是我还是看到了我不想看到的东西——期中考试成绩,带课改部在年级排名 155,不带课改 55 名,明显退步了许多,但是无所谓,毕竟我的心思都不在 whk 上,我相信等我全身而退之后 whk 还会有质的飞跃的。

上午奥赛室就我一个人,老师让我自己制定好计划复习。于是我注意到了

这我不可以写几篇题解嘛,社贡分啊,于是我挡不住社贡分复习的诱惑,前往水题解复习以前的题目去了。

那一上午,我打题解打的累了,一上午的收获:

老师向奥赛组主任申请了取消高二期中考试,在奥赛组主任跟他们年级主任 battle 了一段时间后,终于是成功了。之后见了学弟们,中午时分就去吃饭了。

下午,我照常打扫完卫生之后来奥赛室,但是来了之后发现学弟们已经在门外等候已久了,我没有料到会见效这么快。

“你怎么才来?”

“我打扫卫生了。”

“……勤奋的学长。”

那天下午临时找了一套题,我也跟他们一起做,由于 2010~2022 的真题我都做过了,所以我找的 NOIP2009 提高组。

做了一下午,分数 100+50+100+5=255pts,学弟也都在 155pts 以上,T3 缩点 Topo。

晚上看了看学长的代码整理了一下,平淡的一天。

11月14号

这一天照样平淡。

早晨 lxz 给了我一张他亲手画的画 (临摹的)。画的是胡桃,我感觉还比较好看于是就收了起来,它大体是这个样子的:

这天上午找的 NOIP2005 提高组,做了一上午(基本上是在调T2),最终得分 100+81+10+0=191pts,有个学弟 T2 就 AC 了我 WA 的那两个点 (偷我分),于是我不耻下问,发现少了个特判,学弟就一个特判。。。

下午教了学弟一点区间DP(毕竟今年 CSP-S2 的 T2 能用区间DP骗到 35 分)。

这一天非常平淡 (前方高能)

11月15号

我突然感觉他们最近做的题太简单了,于是突发奇想,弄了一个 IOI 赛制的比赛,放了点简单的题,一共 6 道题,美其名曰:NOIP 考前信心赛。

它大体是这样的:

并且获得了学长的认可:

(后来即将开始之前觉得可能有点难,于是又换回了 IOI 赛制)

题目难度绿绿绿紫蓝紫,由于 T4 是 UVA 的题,题目满分在比赛中默认为 1 分,所以我把倍率调到了 100。

比赛时间从 14 号晚上 9 点到 15 号中午,时间相当长。有个学弟(lxz)不屑于做前面的题,上来就照着最后一道紫树剖攻克,最终得分 100,这也是他们中最高分了。

我的最终得分 0+100+100+100+100+0=400pts。没了首尾,只做了中间四道题。

中午回教室拍了点照片,然后发了个说说,同 CSP-S2 一样都收到了学长和同级退役人士的祝福。

特写(zzh 学长的祝福):

晚上我们发现了一个我们学校远古时期的团队,NXY 学长是里面的管理员,于是我们申请加入了这个团队。发现以前的学长学姐们好多啊,还都是大犇。不像现在变得冷落了。有一部分原因是因为政策原因,奥赛不再实行加分制了,于是人就越来越少了。我在想:如果只是为了高考,我不会坚持到现在还在学奥赛,兴趣是最好的老师,对 OI 的热爱才是我能走到这一步的最大的原因。

今昔对比:以前我们学校的奥赛室:(现在的参照上面说说 p4)

11月16号

这是我能在奥赛室待着的最后一天,马上要 AFO 了,心中也是五味杂陈。

这一天我还感冒了,有一点发烧,嗓子巨疼,身体非常难受。为什么偏偏赶上现在感冒?

一如往常的最后一天打模板题,因为不久前已经打过一次模板了,所以这次都找的不怎么熟悉的模板,并且打的非常快,没几个小时,20 多个题就已经完工,但是打的时候头脑昏昏涨涨,有好几个题出现了好多显而易见的 sb 错误。

下午的时候,不参与参赛的学弟期中考试过后也来了,又一次团聚(估计他不来等我们走这几天他也来不了)。

晚上的时候 xzx 学弟出去了,具体我也不知道他为什么出去,当他回来的时候他说今天是他的 17 岁生日,还带来了一些吃的。

学弟都已经 17 岁了啊,想必我是快成年了,时间过得也是真快,一开始学 OI 那时在我的脑海里还犹如昨天,现在却快要 AFO 了,但是我还没有什么奖,这次比赛加油吧,希望 T1 不要太难。

那晚,我在奥赛室门前站了许久,这个地方有我的欢乐,也有我的苦闷,NOIP 结束后就是我人生的下一站:高考。时光匆匆不等人,OI 也许是我人生中不可或缺的一环,也或许只是我今后回忆中的一抹星尘,但我确定的是,OI 对我的高中生活来说绝对是由重要意义的,少了它我的高中生活会变得黯淡无光,会黯然失色,会不再完整,会缺少价值……

这天距离 NOIP 还有 1 天,距离高考还有 203 天。

11月17号

这天是出发日,早晨没回教室,不到 5:50 就到了奥赛室。嗓子还是很疼,虽然昨天跟老师去外面买药吃了一点,但是作用不大。

NOIP 0 天打卡:

收拾了一下东西,在 8:10 左右就从学校出发了,全程 270 多公里,跟上次一样还是老师私车带我们去,去临沂平邑县。虽然贴了晕车贴还吃了晕车药,但是路上还是晕车的难受,但是睡了一觉就下高速了,之后撑到了宾馆,我们四个人的房间都在宾馆中有点偏僻的地方。自我感觉平邑县这个地方其实比我们县城差不太多,都不怎么繁华。

新城市(这是一个到处都是鲁 Q 车牌的 SD 的中等城市):

宾馆下午的窗外景色:

中午点了一点外卖,吃的鸡肉拌饭,比学校里的米饭要好吃很多,这也是我对这个县城在舌尖上的第一印象。

中午 NXY 学长也在感叹时间过的真快,现在我居然都高三了,他说他第一次见我我还没上高中呢(很显然他认错人了,我高一下学期才接触的 OI),但是时间真的是过的很快啊,我还依稀记得我第一次来实高的样子,“这是我今后要生活三年的地方吗?”,无知时充满憧憬,却殊不知这个地方的生活是多么的辛苦……

下午看了看考前的注意事项和骗分导论,不知道能不能用的上,虽然下午很放松了,但是还是不敢抽卡,生怕一发把明天的 rp 都预支了。

大家也基本上都没再学习,准备好心态备战考试。但是身体终究算是有点不舒服,希望第二天会好一些吧。

晚上没再嗨,很早就睡了。

11月18号

这天是比赛日。

凌晨一点钟,我醒了,做了一个噩梦。我梦到去比赛了,在考场上看了一遍 T1,然后困得受不了了,于是就睡觉了,一觉睡的迷迷糊糊,就已经交卷了,然后我就爆蛋了。赛后看到题之后就只对 T1 有印象,剩下的题居然全然不知。T1 对我印象还特别深,是一个新定义题,定义数组的某指数,还是一个构造题(好像是)。醒来之后才发现是噩梦,然后吓得我不敢睡 了。我告诫自己:梦都是反的。于是这才继续睡着。

定的 6:30 的闹钟,而我恰好在其前几分钟醒了(可能是生物钟的缘故吧)。醒来之后就收拾东西,因为下午考完试就要回家,所以早晨把东西收拾好。收拾完东西后在宾馆吃的他们提供的早餐:

然后吃了药就上考场了,大概 7:55 到了平邑一中,第一次来这里。拍了几张照片,虽说这县城跟我们县城差距不大,但是这个学校可比我们学校好太多了。

刘姥姥进大观园(bushi:

赛时篇

进入了考场,照例先打快读快写,发现系统都是 Win10,还有 NOI LInux 虚拟机,确实挺高级的。

八点半开始考试了,我的电脑时间还是 8:22,于是我修改了电脑时间,然后开始答题。第一眼看过去,T1 好像很难的亚子,仔细看了看,发现很简单,于是就打了 O(nm\log m) 的代码,赛时我真的没想到正解,只是这样打暴力,3000\times 3000 的最后一个点在本地开 O2 跑了 1.5s,有点慌了,90pts or 100pts?希望 CCF 不要卡 log 算法。

T2 第一眼看好像是模拟,又看一眼发现好像是二分图的匹配问题,最后发现好像是并查集,但是考前我没有系统的复习并查集,知道是扩展域或者带权并查集,但是我还是不会打,于是照着 3、4、5、6 四个点打的暴力,预计得分 40pts

T3 没看出来是什么算法,打了 10pts 的特判。

T4 也不知道怎么做,打了 8pts 的暴力。

预计得分 158pts,估计与一等无缘。

比赛快结束时我还在代码中给了自己一段话,这里不再放出来,大家如果有兴趣可以去我的代码里看,考号 SD-0385。

赛后篇

比赛结束后就忙着赶路回家了。然后就看到了班级群里班主任发的成人礼的合影,显然里面没有我。心里也可能产生了一抹莫名的失落,但和 NOIP 给我的失落相比,这份失落就被掩盖的无影无踪了。

回到家没立即回学校,毕竟我的身体还不舒服,但是身体这次起码没影响我考试,还是万幸了吧。

晚上测了测,洛谷只有前两个题,测得 100+50=150pts,云斗 100+40+10+0=150pts,想必是 T4 还没造特殊性质的点。

11月19号

SD NOIP 群里测的全省的代码凌晨跑完了,我的分数是 100+40+10+8=158pts,符合预期,rnk:209\sim 219,据说发奖项时还要去掉初中生和重复拿奖的人,不知道有没有机会,但是无论如何,我今天都要回归 whk 了。

12月1号

终于放假了,出分数了,共 100+40+10+8=158pts,符合预期,rnk:201\sim 211,还没出分数线。

12月13号

从老师口中得知 SD1= 线 153pts

好险,捡了个一等奖。

OI 生涯到此结束。
—— 一个勉强拿过一等奖的蒟蒻
\Huge{\mathcal{\red{A}\green{F}\blue{O}}}