NOI2023 游记

发布时间 2023-07-30 10:32:44作者: yllcm

Day ???

来 nfls 集训并见证了一半的 HN 省队都在南京的奇景

认真打了一个月模拟赛,感觉还不错,终于有一套比较稳定的策略了虽然不时过不了大众题,在第 14 场的时候因为见过原题首次冲进前十,太感动了!

因为补觉错过了 UNR,保住了一点信心。最后一周的时候感觉有点累,润回长沙开摆了,算是为正式比赛补足了精力。

Day -2

去成都了!本来准备飞机的,但是听说有台风就改了高铁,于是在没有商量的情况下和教练买到了同一个车厢。

因为一直对 Cu 有一些隐隐的担忧,所以高铁上算了一下近几年的前 200 的线和前 100 的线,发现要稳的话我两天除掉笔试要打至少 250,因为不知道 NOI 是什么难度所以有一点焦虑。

在 7 个小时顶级煎熬体现后终于到了成都,面到了许久没见到的同学,之前本来可以一起在长沙训练一会的不过我会长沙那天他们正好去 cdqz 集训了,完美错过。见到了新高一的强大学弟 qyb,但是他怎么是来旅游的。

晚上快乐乒乓球,不过我基本忘记怎么打了,最后几把才找到感觉。

明天就要进学校了!

Day -1

进校!

教练来接我的时候让我先去签到,她帮我拿行李箱,但是志愿者非常热情,直接给我打包送到寝室了!于是我不得不重新下去一趟拿行李。

同寝室是 zyf、hzr、王神,后面 ya 和王神换了一下,于是全寝室都是我认识的人了,社恐落泪。

吃完午饭开始尾随学长换徽章,因为我谁也不认识 ,并且谁也不认识我,所以以学长的名义到了一车徽章。

开始去 nfls 宿舍的时候 JS 的徽章还没到,等到到了的时候我只剩两个徽章了,于是成功换到了 ycx 和 tzc 的徽章,不过很遗憾没换到 wjz 的。ycx 居然对我有印象(我在 nfls 的时候一直在角落不敢出声),很感动。

听说有 rk51 进队,买冰红茶。

qiuly 把我拉进了 HN 狼人杀,不过我不太会玩。第一把 hzr 是女巫,第一晚被刀自信不自救并撒天毒带走狼人 qiuly,结果 syzf 第一晚恰好守了 hzr!膜拜皇子!

复习了一些板子,写了一下 tarjan、Z 函数、PAM 这些东西,其它的感觉比较熟就没写了,11:30 的时候睡了,但是睡的不太舒服。

Day 0

早上开幕式,经典的 dzd 讲话,炸裂的音响。变脸很好看。中间叔叔登场了,掌声.mp4。

自信没复习笔试。试机写了个 T1 和 T2,神奇的是我现在才会这个 T1 \(\mathcal{O}(n\log\log n)\),场上我写 \(\mathcal{O}(n\log n)\) 加剪枝过的。写完 T2 笔试正好开始。检查了两遍就交了,罚坐了 15min,然后随便写了点东西。中途监考说可以用 selfEval 测代码,这么神奇的,IOI 赛制有望了?再等一下笔试成绩就出了,成功 AK,说明自信即巅峰。然后第一个润出了考场。

买冰红茶。

之后到晚上一直比较紧张,一直比较害怕 Cu,于是看了一些以前做过的题,开了道 USACO,胡了一个巨大链分治做法,看题解发现直接分类讨论就好了,不过也没太在意。因为搞了比较久的卷获封卷怪,其实只是为了缓解心理压力。

晚上 441 茶话会,HN 诗词大赛,但是大部分诗词我都是考完就忘了。晚上早睡,但是一直没睡着。

Day 1

OI 生涯第一次 NOI 的第一试!

昨晚没太睡好,喝了个拿铁,听说 NOI 很难犯困所以心态不错。进考场的时候一直在默念注意事项。

开始了!先看 T1,一眼秒了,那我稳了!但是有点难写,不过想着迟早要写的就写了。先写暴力,写完过样例并成功卡死 selfEval。然后改扫描线我写写写,写完调完第一个样例,但是第二个样例输出 6377,调调调,调不出,拍拍拍,发现我处理斜线去重的时候只改了 \(x\) 坐标,\(y\) 坐标忘记改了,调完就过了,上了个拍子,此时 9:30,有点小慢的。

开 T2,这个条件怎么这么诡异。转化一下发现 \([1,n]\) 的点在新树上的虚树恰好等于原树,先想 \(k=0\)\(n=1\) 的时候可以直接 DP,暴力是 \(\mathcal{O}(n^3)\) 的,但是当时没想到怎么优化,然后发现 \(n>1\) 的情况只需要考虑在点上挂儿子和在边上挂一棵树即可,DP 一下也是三次方。感觉这个 DP 有点难度,可能不是人均分而且比较难写,于是先缓一缓,写了比较简单的暴力和 \(m=0,1\)\(m=2\) 我误以为是大分类讨论,打算写完关键分之后再来做,稍微考虑了一下感觉我的 DP 可以处理 \(m=2\),此时大概过了 30min。

开 T3,我会 36,很快也会了链,直接写可以拿 52,因为 T3 的风格比较传统,推测可能 T3 比 T2 更好拿分,于是准备尝试一下 \(\mathcal{O}(n^3)\) 的分数,想了一下感觉有点隐约的感觉,但是将它具体转化成做法有一定难度,于是准备先写个暴力再全力写 T2 的分数。先写 \(k\leq 6\),写得比较快,然后写暴力的性质 A,写了一会就过了,然后加一个线段树,但是线段树脑抽写挂了,调了好一会。

回来看 T2,发现我之前胡的 DP 有一点细节问题,需要一些钦定去重技巧,不过稍微推一下就推出来了,然后过了 \(n=1\) 的分。看 \(n>1\),这个比较麻烦,讨论挂儿子是简单的,系数等价于挂一棵 \(t\) 个点的树并且满足根是其中最小值,当时感觉挂边上差不多,但是挂边我写完之后发现第一个样例答案多了 \(1\),一直不知道原因,然后发现挂边上需要满足最小的点没有儿子,那需要再求一个 DP 数组,不过转移和以前差不多于是我直接复制粘贴过来改了一下,但是答案又少了 \(1\),因为时间越来越少了,有点急躁,一直没看出来挂的原因,后来暴力枚举了所有情况才发现 DP 的时候一个数组变量写错了,改完过了大样例,舒服。此时还剩 10min,准备测一下 \(m=2\) 的点,发现挂掉了,然后发现这个做法要加 \(m=2\) 需要一些讨论,求稳考虑就不改了。检查文件,提交。

得分 \(100+45+52=197\),因为 T2 DP 比较复杂所以估计会比大众分多 10~20 分左右,Ag 基本稳了。出考场隐隐感觉不太对劲,怎么大家 T2 都 \(\text{pts}\geq 50\) 的?然后听说 \(n=1\) 可以找规律,再找找就可以过 \(70\),那我岂不是输麻了。

回宿舍对了一下分数,发现只有 xzy、qiuly、ya、zhuyifan 过了 \(200\),其他人都差不多在 \(170\sim 200\) 区间,那区分度不大,还是有机会的。

下午查分,往下拉看到 \(100+40+44=184\),小挂 \(13\) 分,T2 暴搜 T 了,T3 不知道为啥挂了两个包,不过 Day 1 \(184\) 应该 Ag 稳了,所以没认真看得分就直接回宿舍了。

听说 ya 挂了点分,只有 \(187\) 了,皇子也考的不太好,希望他们 Day 2 能够翻盘。

买冰红茶。

然后是 HN Football Club!好久没有这么踢过球了,yzj 很会踢,我没进球但是做了不少饼。后面工作人员来了,表示要给我们拍照,于是有了闭幕式社死画面。

晚上睡得很好。

Day 1.5

开摆日!

上午不是很想去嘉年华,于是去看了电影。下午感觉有点困然后就睡着了,睡得不错。

买冰红茶。

晚上开心不起来了,但是睡得很好。

Day 2

Day 2!

昨天睡的不错,但是保险起见灌了剩下半瓶拿铁。

看题,T1 看了一会不太会,想了一下发现路径一定是向上爬到 LCA,然后向上爬一段,向下走一段,如此重复,写成式子发现可以在 LCA 处拆开统计贡献,那么只要处理每个点到祖先的最短路,这个可以直接 DP 做到 \(\mathcal{O}(2^nn^2)\),但是不确定这东西的正确性,所以先写了一个暴力 Dijkstra。T2 居然是串串题,没太认真想,看了看发现可以 \(56\),于是先写了个二分哈希的暴力,T3 想了一下很快会了 \(\mathcal{O}(3^nn^2)\),先写了。回来看 T1,尝试编了一下,编完过了样例,但是没过大样例,调了一下过了,但是还是没过大样例,有点烦。然后想到忘了加 -fsanitize=undefined,加完之后一堆错误,看了一下发现有个地方忘记取模了,改完直接过了,造了个极限数据,跑的飞快。上了个拍子。

现在才十点,而我已经拿到了 \(156\) 分,已经远超历年 Ag 线了,优势在我!

然后打,看了一下 T2,本来以为可能要 Lyndon 科技,但是猛然想起可以直接把反串接到后面然后后缀排序,然后不合法的一定满足串是回文串,那么我随便去一下重就做完了?感觉不太清醒,于是先上个厕所,冷静一下发现还要保证右端点的 \(rk_{i+2l-1}\)\(rk_i\) 小才能容斥,感觉需要讨论一下。但是 A 性质有了更加小清新的做法:也就是暴力跳回文树然后判断。然后又想了一下,发现这东西可以直接过性质 B,也就是 \(72\) 分,那我可以 \(192\)?这是不是都快够上除了 21 年的队线了。然后有了那么一点点的想法,继续想,发现回文串的回文后缀一定是 border,这意味着它可以被分成不超过 \(\mathcal{O}(\log n)\) 个等差数列,根据经典的套路对公差根号分治,可以得到一个 \(\mathcal{O}(n\sqrt{n}\log n)\) 的做法,并且常数极小,应该能过不少分。准备开始写,因为看过著名的《稳健型选手》,于是写了两个名为 PAM 和 SA 的 namespace,初始都是暴力,写完暴力很快就过了,把 SA 的暴力改成了二维数点,也过了。然后测了一下后面的样例,发现全都在不超过 \(0.3s\) 的时间过去了。此时有点犹豫,因为感觉根号分治有一点难写,于是去看了看 T3,害怕 T3 是那种一个结论直接多 \(50\) 这种题,但是想了想还是不会,但是期间发现根号分治的做法可以简化,讨论的细节变少了,还剩一个小时,直接开写!写半个小时,写出来了!

有点激动,如果 T2 拿满的话我就超过 21 年队线了。因为怕暴力写挂,所以给 T3 上了个拍,犹豫了下给 T2 也上了拍,但是拍一组就挂了。检查一下发现我根号分治枚举公差的时候忘记清空了,但是样例素质很差,公差是一样的。稍微改了改就过了。

然后盯着倒计时等待交卷,内心祈祷着不挂分。

估分 \(100+[72,100]+20=[192,220]\),出来对了一下分数,发现考得好像不错,HN 好像只有 zqy、ya 过了 T2,但是他们做法和我不太一样,不过问题不大,算是有机会进队的。

心情很激动,一直等到查分,快 15:00 的时候蹲在考场最前面,等到可以查分的时候直接冲到楼上 D 区,跑到我的座位,输入密码,查分,划到底下,屏幕上是一行小字:\(100\)\(100\)\(20\)

我的大脑可以说是空白的,算上笔试可以得到 \(100+184+220=504\) 的分数,甚至超过了 \(21\) 年的队线。出来和妈妈汇报了这个消息,她也非常激动。我不敢想象 NOI 是这样一个如此梦幻的结局,回到宿舍,和舍友汇报了这个消息,他们都觉得很稳。

然后是传统的 U 群队线时间,看起来大家都觉得队线应该在 490~500 之间。问了下 HN 的分数,xzy \(538\)、qiuly \(522+5=527\)、ya \(522\)、zhuyifan \(510+5=515\),我 \(504\)、pyq \(500\),王神 \(498\)。qiuly 感觉 HN 这次有点离谱,表示队线可能 \(\geq 500\)。然后我守着 U 群看了一下午消息,直到 ya 的教练过来让 ya 签约,然后透露队线可能在 \([510,512]\),我才感到有些不安。直到大约 18:30 的时候 \(509\) 的队线出来,我才终于明白自己是没戏了。

然后 Ag \(407\) 的消息也传过来了,非常震撼,因为这个分数线甚至高于去年队线。

晚上回想了很多,其实我有无数个瞬间接近这个集训队,比如说 Day 1 不挂分,比如找到 D1T2 的 \(m=2\) 的规律,比如说注意到 D2T3 的 \(w_i=1\),但是已经没有机会了,我的分数只能定格在 \(504\),我必须接受因为这些失误,我还要再重新经历一整个煎熬的赛季。但是没有如果了,结果如此,只有接受。

其实回想起来,我也从来没有想象过我能够取得如此惊人的成绩。NOIP 时险些因为死磕 T2 葬送赛季;HNOI 前夕,我在糟糕的状态下苟且度日,甚至断言:我根本没有机会进入省队。最后 HNOI 两天稳定的发挥让我来到了 NOI,但惶恐与担忧、和对水平的不自信仍然缠绕我身,但我用两天出色的发挥证明了我自己,即使与 Au 失之交臂,可我终于亲手打破我亲手为自己套上的枷锁。事已至此,我想我不必埋怨什么。

晚上和群友快乐麦麦,我个人觉得麦吊打肯啊。

复盘与总结

  • 建议看题的时候先想一想简单的 Sub,我考场被之前的思路影响,没有想出来 D1T2 的 \(m=2\) 和 D2T3 的 \(w_i=1\),虽然分比较少,但是莫名其妙少 20pts 还是非常难受的。
  • 不要相信大样例,对拍!我现在还对 D2T2 的那个错误心有余悸,如果没有拍的话我极有可能获得 \(0\) 分,那样连 Ag 都没了。
  • 不要在考场中猜队线,队线只会比你想象的更加离谱。
  • 不要提前预估题目的难度,我想很多人都因为 D2T2 的位置而没有做出来这道题。
  • 上面两条是一样的,不要相信任何经验主义观点,考场中唯一要做的事就是最大化分数。

The End

别看了,没有了。

有没有群巨教我怎么训练,完全不知道训什么题/kk