我能在神志不清的情况下获得 GDOI 的 100 分吗?

· · 生活·游记

前言

时过境迁,小 S 回到了他梦寐以求,却又折戟沉沙的省选赛场。但他关于算法竞赛的记忆还有多少呢?其中又有多少最为珍贵的记忆值得去珍惜呢?小 S 是一个对算法竞赛充满热情,乐于探索的人。而对他来说,最珍贵的记忆便是学习算法时对其进行各种修改、实验,尝试得到一些新成果的日子吧。

小 S 想请你陪他一起,去找寻这些珍贵的记忆。

原本是去年 NOIP 就已经 AFO 的,打了个难绷的 3=,充分证明了不能很快判断题目难度以及不敢打部分分的结果。我都不知道这次省选如果真要“翻”得考到多少,反正是绝对不切实际的。

这就是我的所有奖项,没拿过 J 1=((?),没拿过 NOIP 1=,没机会去 WC APIO,唯一拿得出手的只有 24 年的 CSP-S。这个成绩其实本来应该早就退役了的。

我真正开始学 OI 是在高一,这个时间是不是很晚。虽然在初中的时候我就已经有洛谷账号,亲眼看过(2021 年起)社区大大小小的事,但是我当时根本不知道 OI 的现状,初中的学校提供了支持但是没怎么注重竞赛,我也一直在文化课。直到初升高的那个暑假被拉到了 OI 圈,认识了很多人,才发现大家都那么厉害。看着小得多的人还在 P 话说自己菜,而那个年龄的我连 OI 都没听说过,才真的感受到内卷。

到了高中,我其实还不是很了解停课训练之类的具体的运作方式,我只听说了有这件事,而且似乎我很快就要这样了。不过在此之前先是一段时间的文化课。

我的中考成绩被三个文科拖了后腿,最后被安排在学校倒数的班级。上课节奏比较慢,或许还是好事,不过学校的竞赛班(需要文化课成绩很好才能上)会把主科统一安排在上午,下午安排一些学竞赛的同学可以请假的课,那显然更方便。我在我的班级就只能在每次请一节课假跑去机房打打代码,45 分钟后再跑回去,效率比较低。

那为什么不专心搞 whk 呢?当时我也不知道 OI 有多难,家长老师什么的都在推荐我搞竞赛,而且能高考加分,那我就去了。主要的感觉是如果全搞 whk 太压抑了高中三年一眼望不到头。初中还幻想过到高中的时候能把所有情感全部抛弃钻到 whk 里面,就像当时班上那个第一名一样,但是显然我做不到这样。在学校待了一会 whk 发现在班上唯一有共同话题的时候是和数学老师讨论题目,自己的性格还被好多同学当作调侃的对象。虽然我真跟着学 whk 放弃 OI 的话成绩肯定比现在要好,但是我不道啊,刚入 OI 圈,然后也学了点提高组的玩意,有点用但不多,那就继续搞呗,而且还有机会上网。

所以后来确实就停课了。结果是 CSP-S 344pts,看上去超常发挥了,很不错,所以我继续学 OI。然后是 216pts 的 NOIP。因为这是第一次认真打 NOIP,不是很清楚难度,后面死磕 T3 没弄出来,没来得及打想到的部分分,加上一点点挂分,最后挂到了 1= 线下 4pts。我们,包括教练都没想到 NOIP 分数线能这么高,可能也是一个因素。不过没关系,接下来是 WC。不对,教练觉得 WC 和 APIO 没用把偷偷报了的说了一顿,而且确实这也不是主线任务,所以接下来其实是省选。省选不能没有 dp 题吧!做出一个就是胜利。我当时是这么说的,结果省选真没有 dp,并且我一道都没做出来,即使是仔细想想并不是特别难的蓝题。机房三个高二的,有两个比较有机会上省队,但是最后却都没上。所以省队的希望就变成了我们三个当时高一的,以及几个其它校区跑来训练的初三的。但是还有一个坏消息是我们三个高一的有两个文化课很差,其中有一个就是我。如果文化课差就不能再搞竞赛,看上去我没的全停了,所以我回去补 whk 了,像之前一样副科的时候跑到机房。我的目标也改成了拿到 NOIP 1= 就好了,至少只要有 NOIP 1= 再走高考路线也有好处。

那么接下来让我们跳过 APIO 和 NOI 来到下一个 CSP-S。初赛的成绩其实我比较震惊,我初赛之前从来没考过 70 分以上,这次直接 94 了,比我生地会考还高。但是复赛的题有点创,加上出故障的电脑导致的心理因素吧,最后 T2T3 都没真正写出来,不过有一个比较高的部分分了,还行。就像去年 NOIP 一样总结的经验,写不出来就写部分分,不用过多迟疑,对吧?不对,我们的 sky 是这样的。在看到 NOIP T2T3 的数据范围已经头脑空白到想不出任何这个复杂度的算法了(即使实际上 T2 想到了非常接近的做法,但误以为复杂度不对),好几个想法反复的因为复杂度问题被觉得不对,但是又不知道到底错在哪,最后被困在里面,一点部分分都没打出来,甚至 T1 还挂了分,最后成绩如此。所以这就是我的 OI 生涯了。

那为什么还有一个省选呢?

最初是看到 GDOI 的参赛条件二:“获得 CSP-S 2025 第二轮 210 分以上并且有效参加了 NOIP 2025。”

我怎么还有机会去省选啊?但是我真要去吗?

我已经摆了不知道多久了,NOIP AFO 后理应是 100% whk,但是又因为心理原因之类的各种问题最后一直请假到期末考试结束。这段时间里可能算是什么都没干,快到寒假还又一次因为重要的朋友的事情受到很大的影响,连累整个身体,即使一年前的自己已经证明这完全是得不偿失的。快到开学了只会看着时间流逝徒增焦虑,一直请假学籍可能就要没了,如果要心理原因休学还得去医院开证明,然后就变成两难。在这种精神状态下,去省选其实也就是随便转转了,如果回去上 whk 的话兴许还算是找个理由逃作业,但是也费时费力的。

直到几天前在 NOIP 面到的朋友说他会带他的新版徽章去省选,我就想,大概去总比不去好吧,反正能报,顺便还占了一个名额,233。

不过说到徽章,我还是完全没有徽章!之前说什么“对不起我没带徽章,下次有机会再给”的,都是因为我没预料到能面上人,而且准备徽章也要时间,怕浪费就根本没准备过(其实我也根本不知道怎么弄到的这些东西)。加上我这里有过的不是机房同学的徽章其实也只有两个,以及去年省选算是面了 0 个人,我很怀疑即使是带着到处转转看看能不能碰上人的心态过去,我真的能碰到几个认识的人吗。心态放开点,在广义上我也是送出过徽章的,因为我在线上参与了去年 APIO PUZZLES 的相关工作,而相关奖品包括徽章,虽然不是我的,但也算参与送徽章的活动了,哈哈。

总之在我写这段话的时候就报上了,所以去就确定要去了,去了之后还能干什么,那就以后再说吧。

目标是总分上 100pts。

以上内容由 sky 编写。

2.12

sky:

我觉得写 Day x 还是太麻烦了,知道省选是 3.7-3.8 然后有个大概还有多久的概念就行了,费劲算它干什么()

你已经在洛谷连续打卡了 1111 天。

因为被梦吓着了所以起的比较早,感觉正常睡眠的话得到 12 点以后才醒来,但到那个时候省选报名就截止了。所以今天早醒还是挺巧的。在截止前一个多小时报上了。

既然报了省选那是不是要写游记?正好可以用来浪费时间,不然我都找不到我现在清醒的意义了(虽然还是很困),所以我就创建了这个文章,写了点东西。

2.14

aqua:

瞅了眼今天有个 MX,正好有点无聊,虽然不是很有时间但是随便打了下 T1,还发了我的第一篇题解 qwq。(明明之前还说不想碰 OI 的)

笑点解析:这是最近我们写的唯一一道题。

2.21

aqua:

瞅了眼今天有个 div2 月赛,正好有点无聊,虽然不是很有时间但是随便打了下 T1。打完就摆烂了,但是居然 100pts 还能在 div2 排 rk135。

笑点解析:这是最近我们写的唯二的题之一。

2.22

aqua:

瞅了眼今天有个 div2 月赛,正好有点无聊,于是随便打了下 T1 T2,顺便水了俩题解 qwq。T2 当时想了好一段时间,与正解擦肩而过很多次,明明只需要结合打了的部分分和想出的只有一点点问题的解法就可以过了,但是还是花了好一段时间才发现结论。打完顺便碰了下 T3 的部分分,然后就摆烂了。为什么这次打的比前几次认真呢,因为我参与了等级分评定()

最后摆了这么久加上由于一些原因不能深度思考怎么还能 rk64(

3.1

sky:

我超,开学!

已严肃摆烂。

今天是 recall 的一岁生日(?)。

离省选还有不到一个星期。

但是我还是一道题也没做。

把上面的句子按正确的顺序排序(5 分)。

3.6

sky:

这是我们的 sky 最聪明的时候。

原定今天更新的 RS 新版本又推迟到第二天比赛日了!好熟悉的剧本,果然又轮回了吗,快进到狂挂 46 分。

深中通道真方便吧。贵也是贵。

12:04 到达酒店。

等等,新的公告说 RS taptap 版本会正常更新!

计划有遍?!.jpg

13:00 去考点。

13:35 进入考场试机。我这个凳子坐起来好晃啊。感觉下一秒这个腿就会断掉然后我摔在地上。叫老师给我换了一个。

为什么我们考场的 30 号的位置贴了个 27 号。

13:48 成功领到 4C 徽章!

4C 45 可爱喵。

13:57 通过【模板】线段树 1。

因为不知道哪些东西要加 long long 所以 WA 90pts 了两次,最后在同学的催促下还是 #define int long long 了。

然后又经过了很多的尝试把很多变量改成了 long long,发现原来题目没保证输入的数不会爆 ll。

14:15 通过【模板】可并堆 2。

考场不能过编 extc++.h。

某人去年省选不知道 join 的神秘记忆。

14:39 因为不认识所有人并且社恐所以和 ran_qwq 在不认识对方的情况下在科学楼一楼相互晃悠了半天,最后在斡旋之中互相接近成功面积了一普朗克时间接着就以“何意味”结束了史诗级的最短会面。

绷不住了(

没想到一天能连续面到两个人!虽然效果可能和只是线上聊聊没什么区别,但是至少是一次精神上的胜利,代表省选来还是有点意义的x

被问了某个我认识的人的 qq 联系方式。我其实感觉这不是很合适,就随便把别人 qq 给出去,如果别人没直接公开。据我所知他私信问了还没回,那我就还是建议正常等了。就像我之前公开我们的团子群号,加了一堆我完全不认识的人,发着一些我觉得不应该在我的群里出现的言(我指的是猎奇表情包之类的东西…像是一群 xxs 混了来),就会有种本来是自己的群,却感觉很陌生的感觉。所以后来就隐藏了,需要私信请求才能得到群号。

15:06 我去,这他妈是学校,这是公园吧,不需要出学校就能刷研学义工时属于是。

南山校长(×)

中山校长(√)

约 15:15 出校。今天早上和中午都没吃什么,于是找吃的。()

然后发现不饿于是先回酒店了 qwq。

17:00 RS 更新!

17:15 完美 浮力场。

17:30 完美 星辰(B 版)。

18:00 感觉现在的心情就像省选第一天考完发现自己爆零了一样糟糕,没有办法消去的紧张感。但是明明本来就是没机会的事情,只是来看看题玩玩而已,考得不好也没人骂。但是就是比去年这个时候还紧张,不知道为什么。

不要把题目想的太简单!当作紫黑黑黑黑黑来做,先预估复杂度,几分钟想不到什么正解就直接看部分分了,不难写的分先拿到再说。或许一些困难的暴力可以边想题边打,不要让手空着(?)。

不知道是不是爬楼爬的,现在干什么都没力气qwq,也吃不下什么,即使确实很饿。

20:07 通过【模板】树状数组 1。

我真的要崩不住了在这种精神状态下写代码。

尝试看我去年 CSP 前在复习什么。

20:52:

我的代码能力已经到了前所未有的一个高度。

21:03 一发过【模板】ST 表 & RMQ 问题。这个我在 NOIP2024 时甚至完全没学过不知道怎么打的东西终于能算是会了。

我求你了,不要串串,不要数数,少点图论,少点树,少点复杂 ds,少点图+ds,少点树+ds,少点图+树+ds(?),少点科技,少点组合数学,少点卡常,少点神秘离线,也少点强制在线喵。

aqua:

你搁这许愿呢。

sky:

21:36:

22:01 一发过【模板】最近公共祖先(LCA)。

还好没有像上次一样了……

23:07 在练习树剖的时候认为深度更大的结点会在树的更顶端。

23:08 再次一发过【模板】最近公共祖先(LCA)。

23:21 通过【模板】重链剖分 / 树链剖分。

要取模的题目注意仔细检查所有所有地方是不是都取模了!

23:26

23:54 通过【模板】矩阵快速幂。

再次警钟:要取模的题目注意仔细检查所有所有地方是不是都取模了!

以及,我们真的神志不清了,开 long long 都忘了。

(神志不清……)

3.7

sky:

00:08 通过【这个不是模板】广义斐波那契数列。

啊,今天是三月七号啊……还在加 debuff

我应该打线性筛吗??感觉就算打了到时候也没用……我是不可能考场上会数论题的,莫比乌斯欧拉那些函数,呃,算了吧。

分块。不会啊!树分治也不会。

斜率优化。忘光了!其实现在大部分蓝都写不出来了。

感觉去年那个把 AC 自动机啥的,所有斜率优化,网络流24题(但是仍然完全不会建模……只能在知道这题要用网络流的时候才会),比较高级的线段树都打了,状态真挺好的,就是回不去了。

现在大概是可能知道这些算法要怎么做,但是可能要很长时间才能写出来了。毕竟没有肌肉记忆,怕打错,只能按当时学的推理过程慢慢来。还没完全理解 kmp,AC 自动机,tarjan 的那个时候,一直都是靠教练教的背代码的方式搞的。每个细节都背下来,不然总是会在精细实现上出错。

但是认识的人都知道我们记忆力超级差。所以就,学了这个专题就把那个给忘了。甚至打一份代码的时候想着先实现下面那个功能吧,转头就把上面没写完的代码忘了。现在想,我好像从来没有同时会过 ds,字符串,数论,图论,dp 优化中的三个。坏了,成口胡选手了。

btw,咱打字速度很慢还易错,没练过。

00:36 不管了……尝试睡觉。

不知道醒来之后看到上面那段话会想要删掉多少,xd。

07:27 吃蛋吃到了 CaCO3。

07:36 出发。

07:52 到达。

怎么一个人都没看到(害怕)。

原来都在考场的楼底下门口等着呐,吓我一跳。

07:59 发现自己忘记去年省选 T1 是什么了。

08:25 发现考试注意事项里的“8.4”字体不一样,猜测这次有特殊评测的题(?)。

开始之后先看了眼 T1,我草,追忆。我草,期望。看 T2。我草,串串,看上去很复杂甚至像是要后缀xx相关的玩意的东西。看 T3。?神秘题。

思考 T1。树形期望 dp 我一百年内只写过一次啊,还是在模拟赛上,当时不知道期望也莫名其妙就过了。再思考,我是不是会了?没事先把输入啥的写了。const int N=,看看范围多大,我草怎么是 2k,得是 NOIP 重演了啊,幸好现在数据范围看的早,加上 NOIP 前车之鉴,很快找到我做法假在哪了。然后重想。想到一些神秘东西,状态保守估计是平方的,看上去很能转移。怎么转移来着?不会。尝试手模。不会。想起来可以边写暴力代码边想题,过了一个半小时的时候终于还是选择暴力转移了。

调也调半天。每次发现一个数组没清空,然后清空,然后重跑,就又会发现一个完全不一样的新答案。

我喜欢你。写到最后发现还有好几个地方的 += 写成了 =,神志不清了。

(神志不清——)

总之直到最后调对了暴力转移,还没想出来一点新的思路。跑了一下所有样例,最大的跑了 16s,意外的不是很久。

算了,剩一个半小时看 T2,串串我恨你。直接写特殊性质。因为比较小的数据范围所以意外的不用思考很多东西。半个小时就可以了。然后是另一个特殊性质。什么鬼。思考了一会,迅速写了个代码,结果不对,才发现,*的只要前面 n 个数有一个 0 不管它多长字典序都会小于前面全是 1 的。

没关系,这题的样例其实能很好的提示做法。又花了个半小时把这个调出来了。

就是验证不了正确性很烦,不知道为什么我的代码不愿意输出样例那个字符串,或许真是我哪写错了吧。

然后看 T3。我先 No 了再说。

是不是其实可以判断异或和 No 然后一样就 Yes。但是感觉如果随机下 Yes 情况还是很少,还是摆了,毕竟我可能没这个时间去写这一串代码,几分钟后就结束了。

然后小小验证一下文件读写,没问题,走了。

预测 35+15+0=50pts。

果然很多人其实都没过 recoll 啊。紫吧。

什么叫这原来是树上背包?

下楼,准备吃饭,但是要先和 4C 碰面喵。

aqua:

4C 可爱喵。

sky:

aqua 可爱喵。

然后我们在那个蓝色大板子下边合影了喵。

(为什么大家都在用蓝色的板子写活动名🤔)

(为什么一个初三的比一个高二的高这么多🤔)

然后我找不到饭堂了。他们平时抢饭还要跑这么远啊()。

反倒是第一天考了之后前一天的紧张感都没了诶,神奇。

听说 qoj 有官方数据了。

18:18:

22:19 在酒店床上醒来发现自己一个半小时前莫名其妙睡着了。

(神志不清?!)

3.8

sky:

有群友在今天凌晨爆了。有时候真的很想 24 小时都在线,但是是不可能的,唉。

现在完全摆烂了!不知道为什么前天晚上想搞复习那么久。不如考前随便背一下 pbds。

不过确实很久没写代码了如果不先写点可能也完全生疏了吧。

(神志不清,,)

08:00 考点怎么还不放人。

08:01 进去了。

谁把我凳子换了?

第 8.4 条字体依旧不一样,总感觉会有特殊题目。

考试开始,首先打开 pdf 看一眼,

补兑,为什么题面第一眼看上去是好几个函数。

我草,真是交互题。预言家了。

思考,感觉这个题其实还有点说法的,但是我应该怎么测交互题呢。

阅读文档。有下发文件,需要有某个特定命令编译。思考。

在同一文件夹使用命令行,我之前没用过啊,是在 cmd 里面搞吗。

Win+R cmd。

我记得那个改变目录的命令是啥来着。

cd D:\GD-***\perm。

没有报错。但是也没有反应。

我的文件目录咋没变?

cd D:\GD-***\perm。

cd D:\。

何意味?

help。

…cd 可以显示或改变当前目录。

呃?

help cd。

…使用 /D 改变磁盘。

cd /D。

cd /D。

何意味……

(神志不清!!)

cd /d D:\GD-***\perm

(成功改变)

sky belike:D:

过了 15 分钟,终于会编译了。

然后继续写。先把想到的那啥 n log n 花不到半个小时写完了。

编译,运行。

输入,Enter。

我草我黑窗口咋没了?

加入 system("pause")。

我草这黑窗口咋还是没有?什么原理。

加入 freopen("grader.out","w",stdout)。

成功记录下来!让我看看输出什么。

Wrong Answer。

(此时已经不止一个小时过去了)

9:45 最后还是调出来了!至少答案上是正确的,好像还没看后面的题!先看看吧。

翻到 T2。

翻到 T3。

啊,是个非交互。

先看看这两题是怎么个事。

T2 第一眼看上去有点复杂的说,太神秘了。

看 T3。

看不懂。

看 T3,

好吧,大概看懂了,可以理解,就是有点抽象。

看 T2。

我要不先输出个 n*(n-1)/2 吧?

调新的交互,又是 15 分钟。

看 T1 更高分做法。

呃,没有头绪,第一感觉是可以加某些神秘优化。那就加呗。

呃,顺便随一点数据。

写 gen。

shuffle 的第三个参数怎么传?我传那个 mt19937 类型的 rnd() 怎么给我跳头文件了。

srand(time(0))。random_shuffle。反正强度管它呢。

咋跑这么慢啊,咋回事,我 n log n 不可能这么慢啊?

查看 grader。

我操,什么鬼,n 三次方的交互库。

没关系,适当缩小数据范围即可。

写神秘优化,然后调。

怎么感觉跑更慢了呢?但是询问次数确实实打实的在往下降了。

再生成一下特殊性质 B 的,感觉这个性质会跑的很慢。

爆炸了。

把那个优化注释掉呢?

还是爆炸。

好吧,我先生成回普通数据看看优化效果。

Wrong Answer 是什么鬼?

(因为注释优化的时候把原来的代码不小心也注释了)

(神志不清、、)

好了,最后经过斟酌还是保留了优化。

看了一下在最坏情况大概是 n log n / 2 个询问的样子,还行了已经,运气好已经有 50 分了,和 day 1 加起来就上 100 了,目标达成。

然后因为本来就没打算过 T1 所以让我们看看 T2。

发现一个 k=3 的范围。这个 k=3,有点难的啊。

当时有点困了。

没关系,从点的度数上来看看,每一个三角形好像不会改变出度的奇偶性!那是不是就能算出来答案了!试一下。

还真是!那么来构造一下吧。

哦好像可以直接贪心构造吗,那好了,又拿到 12 分。

写代码。

这个时候监考进来,然后开始教我们怎么写交互。

我去,不早说。

继续写代码。

这样总分是不是可以稳定上 50 了?

再看了下,感觉要按奇偶性分东西,但是看不出来干啥,换题。

这个 T3,数据范围有点分化的啊。

第一个测试点是不是可以写的来着。是个菊花图。那随便分讨一下。

真的随便吗?前前后后把看题时间加起来我可能讨论了半个小时。

好了,这边分讨完,又拿到四分,样例也没错,来小小检查一点东西收个尾吧。考试结束还有 10 分钟了。(其实去掉提前的时间也就是大概七分钟)

嗯,T1 这代码挺长的。嗯,T2 这个代码应该不会挂吧。

嗯,我看看 T3 其它数据范围是怎么个事?

什么叫第二个测试点 r=1?

啊?

不对。让我看看,那这是不是相当于两个点必须重合来着?如果另一个点不是根,它一定不是第一名吧。

思考。这边往上走肯定会多套几个集合上去。加上一些其它思考,那应该是这样的吧!

所以是什么,求 s 到 t 的路径长度吗?

这个咋求,只能用 lca 吗,我脑子里只想到这么做。

呃,但是现在是 1 点 23 分,距离结束还有不到五分钟!什么,lca 吗,但是我是知道怎么打的,我前天晚上还打过两个解法的 lca,觉得考前还练打这么基础的东西可能没啥用来着。

五分钟!我还有时间,等一下,先让我写个 dfs,小开一下数组,等一下,这个数据范围是多少,能开 n log n 的空间吗,好像可以的。倍增数组!然后是 int lca(int x,int y),我已经完全掌握了,这次绝对没有问题!两分钟速通 LCA!好!考这么多次 OI 了这个最后一次的最后五分钟还是最激动的一次。让我跑个样例 9。

找到以下差异:

……

……

……

这对比滚的还挺快的,根本看不清哪错了……所以我 lca 还是不能一发写对吗,到底是什么情况漏了。

等一下。是不是我还有参数没考虑来着。这个 x 和 y 的位置可能是固定的啊。

else cout<<"1\n"。

诶呀,怎么还是不对,咋回事,暂停一个看看,为什么 .ans 里面会有 0 啊?

距离考试结束还有两分半。

我草,这个 x 和 y 都固定并且位置不同的情况我咋漏了。再判一下。

好了。最后砍下四分,两天总分大概确实能上 100 了!达成目标!

激动之余,还是花剩下两分钟看了一眼所有代码的问题。我甚至开始希望比赛早点结束,这样我就能说“我考试最后两分钟写出个 lca”!这确实是我从来最快的码速了。

然后出考场,好像有考点推迟了 15 分钟?是因为 T3 样例解释的原因吗。

没关系,再次等到 4C,进行了一次最后的聊天。

aqua:

喵。呜。

sky:

嗯,然后这大概就真的是最后的分别了!总感觉有点伤感呢,至少我自己是的。

T1 的神秘 trick 完全没听说过,输了。这绿?感觉如果编辑字符串作为 NOIP T1 考虑可以评蓝,那这题作为省选 T1 考虑也可以评紫……

也没听说过省选之前有没有出过交互,但是这是咱第一次碰见(当然也是最后一次了)。还预言家了是没想到的。

但是好像又有朋友考完爆炸了!原本还想等省选结束去请教一点东西的,但是看来暂时不行了 qwq。帮不到什么,那也只能祝好吧。

什么叫有个“我常常追忆过去”的官方合集?

等一下,那我投哪。