NOI2026 游记
目前可公开的情报
- NOI 本质是抽奖大赛。
前情提要
-
CSP-S T3 CE,T4 8 分。
-
NOIp T4 爆零,差点挂出三倍队线。
-
成功未能进入北京省队,爽吃学校的奖励名额。
-
参加 GD 省集,总榜砍下 rk50+。
-
APIO 打出 75+15+0,摘得铁牌。
-
参加代码源集训,五场模拟赛排名分别为:48,77,58,45,34。
趣事几则
触发被动:「外出集训必有一天起晚」,被牢黄挂到群里。
UNR 切掉两天的大计数获得总榜 rk4。
突然感觉自己有点水平。至少收获了 UOJ Rating!
青岛二中的饭菜几乎全都是含有香菜,狠狠肘击了不能忍受香菜的牢黄和我。
集训这几天晚上一直高强度三国杀和双升,虽然跟我一起玩的人和去年没有交集,但我还是操作最唐之人。
大家一起去了海边,向小一提出比赛谁能在海里走更远被拒绝了,小一怎么这么坏。
成功认识了民意大哥,但是大哥你为什么老偷拍我。
Day0
开幕式除了相亲相爱都是难绷节目,以及坐音响下面喜提听力 -1。
笔试比 UNR 进步了两分。代价是坐在空调风口被猛吹两个小时。
晚上开了一个好久没玩的 MC 存档,差点被新版本的尸壳骑兵肘击。
Day1
大的来了。
这半年经常听到家长和一些选手在表达“OI 比赛不求有功只求无过”的概念,我也多少对这个赛季的比赛写过一些反思(神秘)。最终得出的结论就是:不应该急于开始写一些锤子代码导致时间心态以及思维清晰度的三重扣除。尤其是 T1。
此外,Ran 在昨天开的小会上提到 Day1 可能会比校内模拟赛还要简单,虽然根据去年的情况来看是稍微难一点,但大概率来说采用校内模拟赛那一套舒服的比赛策略是可行的。
于是进赛场时给自己的暗示就是冷静第一,先把三道题看了一遍,哎哎交互放 T3 我怎么会做。
T1 大概 20min 就会了,但是复杂度算出来是 6e8,空间又有点爆,犹豫一会还是开始写了,空间用 vector 除 2 就差不多,写完测一遍样例发现,我怎么会算重???
发现算重仅在左端点相等的两个线段加入的顺序,减一下就行。还好没有 APIO 剧情,大约在 <1h 左右通过了 pretest。
看眼 T2,跟之前打的一场 ucup 比较像?关键知道期望的整数部分。后面就是点分树统计邻域。哦这个整数部分还能二分。那我不是一下就知道怎么做了吗?只不过这个常数 5e5 2log 不太过得去?
先写个暴力把 pretest 过了,先想想单 log 别着急写。
哎我不会做,趁大脑清醒先看看 T3 吧,哎 T3 我也不会做,唯一得到的结论就是尽量使相邻两两 gcd 种类数尽量多。
此时剩下 2h,先把 T2 写了再说,写一大坨发现我怎么跑 2.7s 通过了???好好检查一下数组大小,由于第一层分治中心是 0 号点所以这个层数可能是 20,那我开大一点数组。再交一发 TLE?只把一部分数组大小改大又对了。(最后正解确实是 1log 的,2log 偷过去也是运完了)
不管,现在还剩 1h10min,尽量在 T3 拿高分吧。
值域比较大的时候一次询问最多会给候选集合开根号?但是候选集合充分小的时候就可以用一次集合大小的询问结束。而且一个构造的不是很优美的询问大概率会让接下来的候选集合变得很难看。
有了这些感觉让我确定,45min 内能接受的唯一做法只有随机化乱搞了。
于是写了如下状物:每次随若干次询问直到划分出的候选集合大小的 max
调了一会参交上去获得 33 分,期间发现竟然是按询问序列总大小而不是大小 max 算分,令人汗颜。不过影响不大。
理论上这个做法不太会丢失正确性,只是如果参数过于严苛会导致无法在可接受的时间内跑完。问题出在:均匀随机还是太劣了。
于是在剩 25min 的时候我写出了一个这样的随机方式:假设要问一个代价为
这个做法看起来有道理但不多,可是惊奇的是它竟然在极短的时间跑出来了看起来很困难的参数(这谁打得过你啊)。
紧急修改,经过一番蠕动之后在最后 5min 得到了 95 分。
其实不光是随机方式,整个程序框架也是区的不行,写一个 dp 或者打表出来都是更加优秀的。不过最后 5 分钟还是别修改比较好。
295,总够了吧。
出考场时整个人是比较兴奋的,虽然是由于写了个啥锤子东西上的队线。
看到群里大家对 T3 的评价都很一致,看来假设我最后输了其实应该感到活该而不是可惜才对。
昨天吹空调的伏笔回收,下午流鼻涕用完了一包抽纸。
听说明天的社会实践活动可以请假,本来以为成功逃脱结果 Ran 突然在十点发来消息说请假失败了。
Day1.5
更大的来了。
上午 6:40 集合,1h+ 的车程开到一个神秘停车场,在原地不动 2h 才开到烈日当头的海军博物馆,接下来又排了 0.5h 队获得整整 15min 的军舰参观时间,接下来进入博物馆室内在 10min 后要求集合回程。
在教练和领队们的争取下多了 20min 的参观时间。接下来去一个地下广场等了 30min 的大巴,收到通知让我们上去又在大街上站了 20min。
反观 hyacinth 由于睡的太早没有收到 Ran 请假失败的通知而享受了优质睡眠。令人气愤。
劫后余欢是母亲大人给我送了披萨作为午饭,一个人在宿舍爽吃。
晚上 Ran 领着我们在操场上走圈,才发觉已经很久没有像此刻一样静下心来了。赢了会怎么样,输了会怎么样,其他人赢了会怎么样,其他人输了会怎么样。这些事情到现在甚至尘埃落定了都没有得出答案。
愈发觉得自己就是一个头脑简单的生物。
Day1.5 晚上~Day2 凌晨
最大的来了。
由于感冒的袭击使我整个晚上都头疼得翻来覆去,以一个及其难受的状态开始 Day2。
Day2
早饭的时候牢黄爬上楼给我拿了布洛芬,头疼的症状极大缓解。
开题吧。T1 感觉是套路?T2 prufer 序列,完蛋已经忘光了,这我咋会。T3 是 polyn 计数题不留时间做可能就亏大了。
T1 看起来确实比 lucky 要难,二分后转成了 01 的区间划分问题,由于有区间数
首先 1 的个数必须要 01010。
写了一个锤子东西用来验证偶数的情况,没过样例的
做奇数的时侯浪费了 30min 蠕动一个错的 dp,重新瞎拟合一下过了
保险起见还是要拍一下,给我
只剩不到 3h,求稳。
T2 回忆了 0.5h prufer 序列转回树,又思考了一会转成了二分判断条件为“区间内没有出现的
还剩 2h,100+20+0。不做 T3 被翻就搞笑了。
T3 指数级只有 8 分,看来 polyn 是必须要会的。瞎猜一个贪心的判定颜色序列是否合法,搞出了几个不等式。状态是两维但怎么子树合并需要多记一个 max?
写完了发现没过样例二,200 多种方案显然不是手动模拟的,写个暴力输出小数据的方案吧。
好在执行得足够快,发现是我漏了一个条件,加上之后子树合并就要记两个 max 和两个 sum,空间怎么直接就四次了。没事先写。
交上去获得 48 分,此时还剩 50min。选择回去给 T2 拼好分。
重新审视了一遍我的做法,才发现这就是一个动态矩形加单点查。但已经没有时间了。只能写写值域很小的暴力,由于我还有一个二分,所以貌似只能做
100+36+48,够了吗?可惜最后还是没能将命运掌握在自己手里。
考试结束时,简直和跑完一千米完全相同,呼吸急促双腿发软。对输的恐惧还有对赢的期待搅动着大脑,寻找着一个认识的人,从言语上好或肢体上好,把我的不安宣泄出去。
下午就是毫不意外的过山车环节,查完分已经可以确定 100+(100+100+95)+(100+36+48)=579 这个结果。最终的最终我还是进入了金牌线,获得了正式选手的 rk41。
这里以及 Day1 的后半部分,应该有着对我身边认识的人的表现的罗列以及评价,但我却无法写出这样的文字。
我一直以来都自觉是一个不会安慰人的人,任何此类的话语在我嘴里说出来都冷冰冰的,即使我从来都是表达自己真心的感受。雪上加霜的是我不知道从什么时候染上了“可惜”的口头禅,日常中对其他事物的评价多半都不过脑子地脱口而出这个词。这也导致了,我将表达这个词本来意思的道路给封死了。
再加上我扮演着身边一圈人中相对的“胜利者”,而仅靠着乱搞进队,又有着一种“胜之不武”的感觉。
此时任何话都显得伪善空洞不自然,请原谅我在这里留白。
下午打三国杀,Ran 反贼司马懿给我明牌内奸改判劈死了,气炸。
Day3
流水账环节
整届 NOI 最期待的可能就是文艺汇演的《MORE JUMP MORE》了,舞蹈的观感非常好。
哎汤圆没能来唱歌,有点令人失望。不过还是弥补了 NOI 没有蜂鸟的遗憾。此外第一次听蜂鸟的小一好像深受感染,可爱。
虽然 sunrise 做的 mv 有点喜感,但唱得很坚决啊。
闭幕式,似乎没什么好评价的,看来我还是有点忘不掉去年 NOI 的《海阔天空》吧。
我把 feather 的 "ea" 发音为 [iː],并认为
终
于是,这个赛季的一切就这么结束了。
拿到奖牌当然是开心,但也许过掉 D2T2,又或是身边多有几个人拿到自己期望的成绩,这份开心就会变得略有不同吧。
接下来本来是漂亮话环节,但是我没写过漂亮话。反正我的意思是感谢所有对我有帮助的人,请大家自领心意就可。
愿牢黄文化课顺利。
祝我校新高二选手们高歌猛进,新高一和衔接班同学冉冉升起。
祝我的 ACM 前队友和现队友们,占领北京 A 队拿下 NOI2027。
我也会抓住一切机会,在下个赛季重新证明自己。并利用好接下来两年时间,达成我的目标(有吗?)。
大家再见。