NOI2024 游记
NOI 之后,感觉都没怎么睡好过,每天都在随机时间突然醒来,偶有梦见 NOI 的,不过记得的都在 Day1 神秘结局后醒来,然后意识到 NOI 已经结束了……
NOI 之后还要给小朋友出模拟赛题、讲课,还要颓废,哪有时间写游记啊。
NOI2024 游记
竟然能去打 NOI。
感觉 NOI 的意义还是相当不一样的,之前似乎有人说“没参加过 NOI 的不算 OIer”
当了 7 年的假OIer。
Day ?
考前一个月去了 OIFC 成都嘉祥线下集训,每天模拟赛都座位随机 + 密码条,非常厉害。训练座位似乎是随机的,又在 zmx 旁边,看他又卷了很多道题。有的时候晚上和他 duel,有一次他 10 分钟过了一道 *3300,非常恐怖。我写的做法又难写、又劣,最后还卡了时间、卡了空间才过,耗时 2h+,太不牛了。
在嘉祥的最后几天,我还准备了个杂题分享,选了 3 个题,总共写了 9 种做法,不过 xj csyz 都润了,基本没啥人在听/ng
NOI 前最后一周去了巴蜀集训,总共 4 场模拟,最后 2 场和 UNR 撞了。感觉每年 UNR 都有 rk 非常高的选手没能拿到 Au,似乎 UNR 打的好,会获得 debuff;而 UNR 打不好则有可能会影响心态,于是 UNR 咕咕咕了。
不过,最后两场和 UNR 重合的模拟赛都摆了,看来要是打 UNR 真要被影响心态了。
Dx 似乎 UNR 打的很不好,Day1 还交错代码了,看起来很破防,而 cmll mermer UNR 牛完了。
总体来讲,除去最后两场模拟赛(真不能看),rank 都在 10 名附近徘徊,进前 5 和没进前 15 的都是一次,每次在极小的区间内浮动,不过总分就明显往前很多。根据去年联考总共 9 个集训队来看,看起来处在一个非常危险的位置。
而事实也确实验证了这一点。
考前研究了下 1kri 的 OI 与玄学,根据去年 ybw, zyx 喝了橙汁结果都没进,1kri 没喝橙汁就进了。总结出,喝橙色东西,最后就拿不到橙色的东西,所以应该喝红牛、可乐(Cu),把最不好的东西先喝掉,这样就不会拿到了!
Day -1
早上直接睡到了 8 点,一种久违的舒适。
参加了 QOJ 考前模板赛,基本都打了,获得了 QOJ蓝名,感觉很帅,同时做题数在 QOJ 上进了前 50(虽然现在又烂了)。
VP 了 UNR 的笔试,发现错了个给 mycpp.bak 创建 mp.cpp 的备份,只能说唐龙 1kri 素质就这点了。。
报道的时候由于教练还没来,要叫学籍单,还不能报道,开始说是扣身份证,不过后来由于身份证过多就,最后的解决方法是把胸牌扣了,这都是一些小小的插曲。
开始跟着群友去了 1009 自习室,不过有几个素质比较低的许淇文家长在高声联机打第五人格,之后问了问 Qiuly,到了 1007 自习室自习,后面几天也都在这边了。
后来 xj 的也来了,旁边是 cmll mermer,前面是 _YangZj_(小写)_,最前面有 yb using lf,教室左边有唐龙王漏鱼橙音乐,右边还有偷学 zmx。
后来国家队也来了,kubic sjy zak 坐在前面。
吃饭的时候,发现有可乐,这很对。
晚上主要复习复习笔试,大家在竞速!
刷了一万遍了,但还是很折磨。很怕自己笔试挂分,因为感觉自己的命运就掌握在几分上了(事实也确实如此)。
晚上回到了寝室,我们寝室只有 2 个人,我和 qlz 大神。qlz 说这几天一定不能感冒,因为感冒会寄掉,所以空调开 27°C。
不过晚上睡觉就是一件很糟糕的事情了。我睡在靠门的位置,27°C 确实有点过于热了,不过我也是真睡不着,很折磨。
在一个时间节点觉得能效仿在嘉祥干的事情,起来背下笔试,于是在 00:13 的时候,我起来背了背笔试,背了几分钟就困了))那确实应该困啊,好好好,之后好像很快就顺利睡着了。
Day 0
早上起来发现其实还好,只是我觉得对于考笔试来讲,这个精神状态足够了。开幕式 JS 坐在角落里,避免了被音箱、灯光随机击杀)很难想象已经到 NOI 了呢,甚至感觉上一秒还是 NOIP2022 的折戟沉沙)))))
中午直接回寝室了,了解了下别人在干什么,听从了 gqh 的建议,觉得中午睡午觉晚上会更睡不着。gqh 说他昨天似乎因为急性阑尾炎 1:30 才睡着,只能祝他好运吧。在寝室里用了用 gqh 发的一个工具网站背笔试。
遇到了一个很逆天的题,其它除了手机点错了一个都对了。
2 点多去试机了。旁边是 _YangZj_,后面有 Qiuly。
试机题竟然是 NOIP2023,这我不倒闭了,先写了个 T1,测了测 selfEval,一切正常。T2 不太想写,毕竟场上过了。T3 还不会)))NOIP 结束之后,就再也没看过了,感觉简直有心理阴影了,也懒得去补题,省选也是这样诶。T4 场上拼了 72 分暴力后,最后没调出来,本来还想写一写,写了一会儿,后面就又不想写了,感觉没啥意思。_YangZj_ 在写 NTT,那我也去写吧。QOJ 模板训练的时候 skip 了多项式乘法,那肯定是用不上的,然后果然调了一会儿才调出来,似乎是有几个变量名写错了。
3 点的时候访问了笔试网站,网很卡,一直没加载出来,然后就是工作人员说延时 15 分钟,接着就听到了一阵此起彼伏的笑声。 _YangZj_ 跟我说发答案了,我回头看发现 Qiuly 在打开 gedit 狂抄答案。我呢,我在点了几下刷新按钮,就发现网站无法响应,这我不是倒闭了?要是笔试扣分,这分谁给我补???
3 点 15 的时候,顺利开始笔试,都是背了 inf 遍的题,很简单,不过做的时候很小心,很谨慎,然后又检查了几遍,应该是没啥大问题。检查的时候,也是相当煎熬,深怕哪里选错了。不过还好笔试只有 30 分钟,熬了一会儿很快就熬到了,顺利 100 分了。
学习了下 SCZ C Au 学长 ReseeCher 的经验,看见笔试满分后长舒了一口气,告诉自己“已经先下一城”了,给自己壮了壮胆。
晚上又看了看模板,grg 似乎在复习自己做过的黑题,并感叹自己做的黑题太多了,看不过来。于是,cmll 也来点了我做过的几道黑题,随机点了几道,全是典题,诸如,NOI2019机器人,ZJOI忘了麻将,还有些忘了,总之就是忘了。cmll 说,今天晚上不做题,明天就不会做题了,很慌,于是去补了联考的一个 zak 题。
这是第一个小样例:
1
5 5 10
0 392094191
3 478637573
6 877058162
7 7653808
8 934400152
1 875521419
2 420533509
4 862560990
5 38369601
9 283588285
不太能要。。原来 std 是暴力写的,127 行为。。很短的代码调了好久才调过:(
晚上 10 点就睡觉了,感觉似乎好多了,感觉估计在 11 点左右就睡着了。
Day 1
这就 Day 1 了。这就 Day 1 了。这就 Day 1 了。这就 Day 1 了。这就 Day 1 了。
考前听说这两天可能有 JV 题,很慌很慌。
进场发现右边的右边是潘队,右边是联考 cyez 的,左边是 xinyoudui lkl,左边的左边是 lak,左边的后面是 A_zjzj,右边一些的后面是 gqh。
罚坐了一会儿就开题了,感觉平时都不看纸质题目也没必要看了。开题发现有交互,顿感局势不妙,平时 duel 遇到交互一般会 /duel cge,这下怎么 change 不了了呢。看了看 T1 发现,排列的本质相当于是存在一组匹配,两个数能匹配,当且仅当在两边出现位置的集合相同,于是我 unordered_map <ull, int> 下就好了,很对啊!发现似乎不能莫队,不过显然是有单调性的,于是双指针一下就好了。
写了写发现因为是异或,所以 ins()、del() 的函数代码甚至是一样的,还挺牛)
20 分钟的时候就写完了,测了下样例发现都过了,不过 selfEval 怎么都是 compile failed,我把我的代码改来改去,都无动于衷,甚至改成空代码都没用。我注意到是 compile failed,不是 compile error,而且比赛出锅也是很正常的(参照实际),所以举手求助了下工作人员,然后工作人员回复我说这个他管不了,不过可以帮我问一下,然后就跑了,也没有答复。然后我就去看别的题了。过了一会儿,广播就喊 selfEval 出了点问题。。
T2 很神秘,感觉是一道乱搞题,做的时候很错,第一步就很错。首先 sub1 是直接完全图即可,然后我还会每次折半合并,跑分治,这样 \(S\) 很牛,但 \(T\) 就很菜,然后我就想能不能把两个做法拼起来结合一下呢。当时想了想感觉可以分块,对于块内跑分治,对于整块直接跑完全图,然后写了写,甚至还写了个程序算最优块长,感觉不如手调。好像至少这样搞算上 sub1 只有 57 分,很自闭。后来又怎么搞好久好久,最后搞到了 69 分,感觉这个分完全不够啊,但没办法,甚至一点思路都没有。
想 T2 的过程中,去测了一下 T1 的 selfEval 发现竟然测试点数量和题面的一样,后来看了看题面,感觉应该是 pretest 赛制,这下至少会安心很多。
T2 不知不觉就搞了 2h,被迫看 T3 了。T3 得多拿分啊,发现有 \(56\) 分的 \(n\le 2000\),这肯定得拿下吧。感觉已经退无可退了,硬着头皮去做了。想了个类似 AGC33F 的做法,由于有些边的方向确定,所以不停地把限制变到最紧,然后再发现有边的方向可以确定,这样一直做如果没有矛盾就说明合法,这太有道理了,然后发现确定字典序最小就只要如果这条边没确定,就可以随便确定,否则按照确定的方向。总共差不多花了 1h 拿下了 56 分。
然后发现还有 8 分的菊花可以拿下,仔细想了想,我的做法时间复杂度是跟所有限制的路径长度相关,这肯定是能过菊花的,于是我把预处理 LCA 的部分换成每次求一下,结果甚至多冲过了一个 \(n\le 10^5\) 的点,拿到了 68 分!思考了一下更后面的部分,但很遗憾,没太多想法。
之后的时间就是在肉眼检查代码和 T2 继续乱调参直接徘徊,没有拿到更多的分数。
最后 pretest 的得分是 \(100+69+68=237\)。
出来之后问了一圈发现好多 264,很慌。T2 似乎是简单题,很多人都过了。啊???那爆干净了。
kv gzy zph yb using 都 264,lgd 似乎跟我差不多。
平静地去吃了个饭,然后听说 Pub AK 了,他要冲榜了。zxb、little09 也几乎 AK 了。
不过似乎 Qiuly 漏宝考的很寄,qzx、xjc、crz、yx、cy、dsj 也不高,gqh 似乎被 T1 创了/ng,期待一下皞爸的绝世翻盘。
不过听说有人 T3 pretest 反向拿了很多分。
3 点去查分,没有奇迹,T3 \(n\le 10^5\) 一个点都没过,最终得分还少了 \(4\) 分。
最后 finaltest 的得分是 \(100+69+64=233\),接受了自己比队线低十几分的事实。不过也没有太难过,至少感觉明天怎么打都不至于铜牌)
讲题决定鸽了,感觉就别去影响自己心态了。
之后跟着别人乱逛,然后大家都去打球了。我先和 zph 打了会乒乓,发现 zph 很会扣球,似乎 zph 完全不会接我发的上旋球,每次都无一例外打飞)发了几个之后就不发了。不过 zph 还是很会扣杀的,虽然成功率基本上就五成。
后来 zph 走了,去打羽毛球了,感觉国家羽毛球二级运动员还是太有实力了。之后回去洗了个澡,然后发现教练要我把讲题的 PPT 拍给他,爆了。
发现 Day1 几乎没考什么算法,板子还得继续复习。不过,晚上教室里在打 gen,开始在看 kubic 1vs1 吊打别人,一直在说:“但是对手很菜,真的很菜。”后来机房里开始联机,开了个 room 组队打,很趣味。
Day1.5
JS 是下午去博物馆,本来想多睡一会儿的,结果早上 6:40 就自然醒了。上午听说撞车了。这天早上还是复习了点东西的,中午就去集合了。排队的时候用手机打了局 gen FFA,居然还赢了!希望不要消耗 RP 啊啊啊。
感觉逛博物馆还是太无聊了,不过来都来了,还是仔细听了一下。
然后快结束的时候,导游问了句“我们现在讲了几个十大镇馆之宝”,我过程中听到一个就稍微记了一下,感觉记的很清楚 4 个,然后导游说实际上讲了 7 个(樂。
一路上感觉很热,博物馆里几乎没有空调,回学校就立刻把澡洗了。
注意到我 PKUSC Day1 也是 233 分,然后 PKUSC Day2 得了 230 分。感觉明天要是能有 230 岂不是很好!
晚上很早 \(<10:00\) 就睡了。
Day2
感觉昨天晚上睡的还是不错的。JV 题估计就在今天了,希望不要被创飞。
进场,发现左边在最边上。左边的左边是 jcy 大神,右边是 hcq,右边一些是 zyh。
230 的目标从第一题开始就破没了……开题,看到 T1 就意识到很可能是 JV 题,感觉不妙。写分析了下性质,对着 \(O(n^2\log n)\) 暴力判断的程序打表,找了找规律发现没啥想法。
点开了下大样例,发现答案似乎不是很大,于是就写了写暴搜,随便写了下发现就 85 分了。想了想发现可以处理一下,一测发现就 90 分,这个时候差不多不到 1h。95 分的那个点要跑 7.4s,还是很想拿到这 5 分的。于是搞了很久,卡常一点效果都没有。写了一个搜连续段的东西,写挂调了还久,结果调出来一跑发现要跑 20s,非常疑惑,这个不应该会更劣啊,统计了一下计算次数,发现少了一点点,估计是递归导致的,这个时候都将近 2h 了。
感觉很破防,看了看 T2,感觉是一道比较困难的题,看了看部分分发现最后一档 40 分,这下肯定得会正解啊啊啊。仔细想了想发现很快会了个 \(O(n\log ^2 n)\) 的树剖 + 线段树维护类似历史和的做法,再一看 \(n\le 10^5\),2s,这不是稳了吗(这个时候没看到有 \(5\) 组多测)
上了个厕所冷静思考了一下做法的正确性,感觉没什么问题。不过回来才发现有 \(5\) 组多测,感觉应该也是能过的,就开始写了。发现其实远没有想象中的难写,把 Tag
封装了一下处理两个 Tag 之间的贡献,就很简洁了,差不多 1h 就写完 + 调完了。selfEval 跑了 0.7s,感觉很稳。
这个时候开始看 T3,开始先想了个假的平方做法,2 类点判的很有问题。写完一测,发现 selfEval 只有 10 分,然后意识到全假了。于是开始冷静思考部分分,发现相当困难,不过似乎我会的弱智分数有 \(25\),于是写了一下。其实开始我没写第一个指数级的小数据,但假做法似乎过了这 \(5\) 分。为了保险起见,我还单独写了一下。
剩下差不多 1h 时间就在 T1 的多拿 \(5\) 分,与 T3 的 BC 性质之间切换,中间还是忍不住想去找 T1 合法的性质,最终没有任何收获。出来的时候感觉非常神秘,感觉 T2 有一定难度,应该不是所有人都过了,但又感觉我没做太久,大家可能也都做出来了。
最后 pretest 的得分是 \(90+100+25=215\)。
出来的时候 jcy 说他寄了,我吓坏了,jcy 省选 Day1 也坐我左边的左边,然后打得很寄,岂不是我的问题)
告诉了旁边的何老师我的分数,何老师说他要退役了,祝好!crz 好像考的也不太好,很遗憾。
出去碰到 lgd,他也是 \(215\),不过他第一天比我高 \(3\) 分,\(236\),基于他 Au 的概率为 \(1\),感觉我还是有一定机会的。
kv 好像没过 T2,但是他 T3 \(55\),并说这是送的分,只是他脑子好。zph 也没过 T2,他 \(180\),此时意识到如果不挂分就把 zph 翻了。
比赛时没吃东西,但中午就是完全不想吃饭。
自习室遇到了 Pub,他好像也没过 T2,不过他 Day1 AK,还是比我高一些。
下午去查分,没挂。
于是,总共就是 \(100+100+69+64+90+100+25=548\),能赢吗。
Bronya 考的巨高,就比 _LHF_ 多了个 A,怎么同样是 C 类,差距这么大呢。
民间的队线一路从 \(529\) 传到 \(534\),怪兽、houzhiyuan 比 NOIP,最后到 quizx 说他 rk51。感觉 qzx 水平明显在我之上啊,祝 qzx 明年好运!这下 JS 只有 6 个 Au 了。
jcy Day2 205,太批话了!总分还比我高 \(3\) 分。
我算是继承了 ducati 的衣钵,不过排名还是比 ducati 差了不少的。
晚上有榜了,跟 \(3\) 个人并列 rk39,但根据同分比 NOIP,我应该是 NOIP 最低的,NOIP 考高点啥都有了啊啊啊。
晚上去嘉年华玩,最终拿下了唐龙!
Day3
比较匆忙,领完奖就润了。似乎是跟 nfls 的 wfh lxy qlz CB splay lson 一班飞机。
迎接新的生活!