NOI2022 游寄
省流:没发挥好+挂分,但还是苟了块银牌。
NOIP 挂分有点多,出了队线,某比赛又因为一些众所周知的原因消失了,所以没进省队,买了 D 准备瞎打。
Day -44~-35 (7.09~7.18)
正睿 NOI 赛前集训。
前几天的赠送赛猛了几场,然后开始状态萎靡,一泻千里,rating 直接跳崖。

一开始只是挂分,后面信心都打没了,这样子的状态 NOI 必寄无疑,于是后面摆了几天,回了回状态。
Day -14~-5 (8.08~8.17)
正睿 A 班训练。
又把 rating 打回来了,又有信心了,开心捏。

Day -9 (8.13)
出发去昆山了。
在动车上把笔试背了。这是我第一次到线下参加这种重大比赛,漫长的路途上我一直很紧张。(但似乎下车后就没这种感觉了
Day -3 (8.19)
一中校内训练。
开题一看,“3.时代的眼泪”,顿时瞳孔地震。
再看前两题,啥都不会,甚至不会多项式复杂度算法。
又想了一个小时,感觉还是没思路,为了不影响心情,直接啥都不交跑路。(只要我不交题就没人知道我开过题
Day -2 (8.20)
进校了,室友是 lmk , jbc 和 c03。
jbc 按某比赛选拔可以进入 FJ A 队,在 APIO 也上取得了 200+ 的优秀成绩,很恐怖。
c03 去年进了 FJ E 队,今年 csp 拿了 360,WC 差几分就能拿金牌,但 noip 挂大分了,沦落到和我一样买 D 类,但这并不妨碍他吊锤我。
感觉他们都好强,而我好菜菜。
感觉学校的条件非常好,这就是贵族学校吗? (除了离大谱的床的设计,站起来就会撞到头,我们宿舍似乎都撞过)
上午在宿舍先写了个 LCT,结果挂了,一堆人(包括隔壁宿舍的)对着电脑调了半天。(jbc:“LCT 这种逆天东西 NOI 怎么可能考” (flag*1))
中午吃饭,伙食很好,但人好多!
下午写了 NTT , SAM 和 Min_25筛,这几乎是我在 NOI 赛程中最后一次在宿舍写代码了,之后的日子就是和大家一起专心开摆。
晚上是文艺汇演,但我们宿舍过于逆天(事实上是三个人加一个隔壁宿舍的),在举行国际象棋循环积分赛,于是成功错过了。(悲)
Day -1 (8.21)
领取物资,发现我没订徽章!
Day 0 (8.22) 笔试日
找 c03 要了一个自测笔试的软件,感觉很好用。
和 jbc 对战笔试速度,我以平均 \(1.9s\) 一题的速度成功获胜。
笔试很顺利,由于我经常阅读别人的游记,所以我很清楚宣布开始前啥都干不了。
试机写了一个 exSAM,再写了递推与递归的 Min_25 筛相互拍上。
在得知没法及时知道笔试成绩之后就润了。
下午订了 \(20\) 个徽章。
晚上九点睡觉捏。
Day 1 (8.23) NOI2022 Day1
\(8:00\) 比赛准时开始,密码是 surprise2022。
众数,移除石子,树上领域数点;
\(1s,\ 1s,\ 3s\);
\(1GB,\ 1GB,\ 2GB\);
传统,传统,交互。
一看 \(T3\) 就不是很可做,按照往年的经验,应该尽快把前两题拿下来,争取最多的时间去拼交互。
于是先开 \(T1\),发现是签到题,第一次打 NOI,很冲动,没有怎么思考细节就直接开写了。
然后写的途中遇到了一些细节问题:合并除了值上的线段树合并以外怎么处理相对顺序? deque 启发式合并? 查询怎么写方便? 长度之和可能很大,要开 long long?
从我想到 deque 的第一时刻,我就立刻否决了这一个想法:\(10^6\) 的 deque 一看就很寄,空间不够。于是我选择了链表。
查询方面,我的第一反应是直接序列分治 \(O(nlog^2n)\) 做,\(10^6\) 的 \(log^2\) 很可过。
代码很好写,大概只写了 \(20min\),一遍过了所有大样例。
正当我准备乘胜追击干 \(T2\) 的时候,忽然发现 \(T1\) 的大样例没有删除操作,而链表又容易写挂。赶紧写了个暴力开拍,没拍出问题,那好,继续开 \(T2\)。
这时才过了大约 \(45min\),感觉优势在我。
之后我犯了严重的错误,我把 \(T2\) 的 \(r-l\ge 2\) 理解成区间长度 \(\ge 2\) 了,然后一手玩:
“只有存在形如 \(1,12,212\) 的极长非 \(0\) 连续段是无解的,而这题的结构又是几乎单调的。所以只要考虑最优解,除了把 \(101\) 连成 \(111\) 外,其它情况都可以通过让 \(1\) 变成 \(2\) 来变得有解,所以可以直接 dp 计数。”
这时的我很高兴啊,以为自己会做了,根本没有意识到问题的严重性,也没有注意数据范围不对劲。
直接开写!刚好,这个假做法可以过样例 \(1\),但过不去样例 \(2\),所以我以为是自己写挂了,调了很久还查不出来。
顿时很慌,把所有情况写了下来,发现和我的程序输出的一模一样,顿时懵了。重新读了一遍题目,发现是 \(r-l\ge 2\),也就是区间长度 \(>2\)!
但这时我觉得问题不大,以为只不过是多了几种情况罢了,于是继续手玩。结果显而易见,啥都没搞出来。
很慌,心想:“\(20\) 年的命运和 \(21\) 年的路径交点都很送,那么这题也应该很送,况且这题如果是区间长度 \(\ge 2\) 的话也很送,所以我一定要想出来。”
我越这么想,越是没有思路。仿佛走进了一个死胡同,一直在里面绕圈,死活走不出来。即使这题几乎将 dp of dp 写在了脸上,我一直还是在想推判定合法的结论,甚至想不到用 dp 判定合法性。
也不知过了多久,我才如梦方醒:“这样下去不行啊,如果只有 \(100pts\) 不是铁 Cu?不能一直卡在这了,先去做交互。”
比赛刚开始的时候只是泛读了一遍题目,现在才仔细看,题面长得离谱,看到最后几乎都忘了前面在说什么了。
一看数据范围,为什么没有 \(n\le m\) 的点??? 出题人属实阴间,我不会要 \(T2\ T3\) 合砍 \(0\) 分了吧?
虽然心很难受,但摆烂不大行,还是勉强仔细想了一下,发现链是猫树,\(u=1\) 可以长剖+线段树。
这时我的心态已经崩到不行了,甚至连 \(n^2\) 的换根都没想到,而是想着用长剖做到 \(n^2log\ n\),估了一下大约有 \(35\),那就直接开写!
这个时候大约还有 \(1h\) 吧,如果是模拟赛之类的比赛,也许冲出来没有什么太大问题。但在 NOI 的最后 \(1h\),心里压力是无穷大的,况且还是我这种只有 \(100pts\),以为自己要打铜的选手。
相对好写的猫树都调了半天才过了样例,长剖更不用说,调了很久还是不行。最后 \(10min\),感觉自己调不出来了,果断丢掉写 \(T2\) 的爆搜,但这个时候已经心完全乱了,暴力没写出来。
出场之后其实挺想哭的,以为大家都是 \(200+\),而我只有 \(110\),这个分离 Ag 线很远。
在回宿舍的路上一直想着自己要打铜了,破防了,非常难过郁闷。结果回去一问,似乎大家都不高,FJ 省队大部分都是 \(115\sim 130\) 这个区间,也没比我高多少。
但 yc \(140\),c03 \(150\),rsy \(165\),非常强。
\(T1\) 大家都会一只 \(log\) 的做法,我稍微想了一下也会了,无伤大雅,两只 \(log\) 跑得飞快。
\(T2\) 很多人都会 \(25\),问了一下,发现自己是 sb。
\(T3\) 倒是大家都不高,可能是被前两题搞的没时间了。
虽然分差不大,但感觉自己发挥还是很烂啊,中午看了会球,试图放松心情。
下午查分,打开一看 \(100+0+10=110\),没挂分就是好的,\(T1\) 两只 \(log\) 最大点只跑了 \(0.1s\),很快啊!
问了下舍友,lmk 从 \(100+15+0\) 挂成 \(95+0+0\) 了,他 \(T1\) 没开 long long,\(T2\) 多测没清空。c03 数组开小了,挂成 \(135\)。jbc \(T1\) 莫名其妙地 ce 了,好像是代码几个地方乱了,好惨。
民间队线是 \(140\),那 FJ 还是有两个人上队线的,没去年那么惨。Ag 线似乎没上三位数,出题人真阴间!
听说 qlr \(95+100+25=220\) 强得不行。打正睿的时候就感觉他非常强,次次打爆我们。
晚上听讲评,yyl 说 \(T3\) 本来是放 Day2 的,那岂不是 Day2 会有更难的题?
\(T2\) 讲题人:“这题的思维难度是中等偏上。”引起群愤。
\(T1\) 果然好多人因为 deque 挂了。这题做法似乎各种各样,甚至还有老哥上台说他 \(O(n\sqrt n\ logn)\) 直接冲了过去,最大点只要 \(0.6s\)。在他之后有个女队上去说把 map 换成 unordered_map 就是 \(O(n\sqrt n)\) 的了,但最大点似乎慢了,要 \(0.9s\)。我感觉 unordered_map 这玩意很玄学,理论复杂度是 \(O(1)\) 的,但实战表现经常不如 \(O(logn)\) 的 map,难以理解。
晚上摆到了 \(11:30\) 再睡觉。
Day2 (8.24)
上午没事干,继续打摆。
下午的开幕式我们宿舍又双叒叕去晚了,但似乎迟了一点开始,正在放视频。“我们一直在想,怎么让会员交钱。”
各省轮流起立的环节我还蛮喜欢的,像 ZJ , BJ 这样的强省人好多,像我们 FJ 这样的弱省的人真的好少。
dzd 的致辞似乎有很多亮点,但我现在忘了。
感觉无人机表演很震撼,其它的似乎就没什么精彩的了。(为什么没有小姐姐跳舞环节)
闭幕式结束后得知徽章到了,jbc 好哥哥帮我们宿舍都拿回来了。
满血复活!找 FJ 省队换了一圈徽章。有些人的徽章换完了,sad。
被 c03 安利了 Celeste,感觉很好玩。于是当晚 D3 335 宿舍四个人都在玩 Celeste。
晚上继续九点睡捏。
Day3 (8.25) NOI2022 Day2
赛前吃饭的时候和别人讨论了一下,认为 Day1 都那么困难,Day2 肯定会更恶心。于是我决定当暴力哥,写三个暴力跑路。
今天的密码是 hopeinvaluable,开题一看,大受震撼——“挑战 NPC”。
阅读了一遍三个题,\(T1\) 怎么把树哈希都写在脸上了?显然可以硬跑二分图最大匹配,拼上 \(k=0\) 有 \(80pts\),挺多的。
\(T2\) 一看就很贪心,见过一样的限制条件,但那题是计数,这题是最优化,不太一样。
\(T3\) 看起来很高妙,暂时没什么想法。
顺序开题。
\(k\le 5\) 一看复杂度就要带 \(k^k\) 或者 \(k!\)。
自然地想到一层层删点,但我犯蠢了,想到先把哈希值相同的匹配掉,但我以为会退流,否决了这个做法。之后一顿瞎分析,\(k\) 如果放到指数的话我的底数就必须是 \(n\),没啥用。再这样卡下去必寄无疑,赶紧先跳掉,过会再回来想正解。
\(T2\) 一上来先胡乱贪心了一波:先从大到小把最小值全部取到能取到的最左,之后选择满足最优情况的最小值填进去。
看起来不是很真,但也不是很假,所以先写一发 \(n^2\) 暴力,发现假了,但能过特殊性质 AB。那拼上暴力不是有 \(64\)?看起来很高,但不能当急急国王,还是得想想 C 档怎么做,或许会 C 这题就会了。然后就编了几个东西,但都过不去样例。
此时我感觉这场和昨天一样,很有可能是暴力上队线,况且时间也不早了,两腿一蹬开写!
先写了一个 \(O(n)\) 的 A 和 \(O(nlog\ n)\) 的 B,发现这题非常难写,两个 sub 加起来就要 5k 了。写挂了好几次,调了好久才调过样例。调的时候响起了考试时间过半的广播,感觉时间很紧。冲完爆搜后,观察了一下样例,感觉强度挺大的,就不拍了,看了下数组有没有越界,再肉眼静查一遍,感觉没有问题(flag)。
于是赶紧润回去搞 \(T1\)。这时时间只剩大约 \(2h\),估摸着这题网络流暴力也不好写,如果继续想正解可能 \(T1\) 和 \(T3\) 的暴力来不及写完。
\(80\) 就 \(80\),反正赛前说了要当暴力哥!
暴力出乎意料的好写,很快就写完并过了所有样例,接下来是树哈希。大概一个月前 Falco 学长在校内训练讲过树哈希的若干种错误姿势以及卡法,并科普正确做法是 map 里面开个 vector。但我的树哈希不在那若干种错误示范里,而且从来没有被卡过,于是我直接图方便写了我平时的树哈希,并且过了 \(k=0\) 的样例。
静查了一遍,正当我准备丢掉这题写 \(T3\) 的时候,我猛然发现:我的代码怎么过不了编????赶紧开查,我超,我代码怎么有几个地方乱了???
紧急重构一手,然后去看了一下 \(T2\) 的代码,也乱了。我终于理解 jbc 的苦了,应该是因为鼠标太敏感了,只是放在上面偶尔都会被误判为按下。还好我最后又编译了一遍,不然也成 ce 哥了。
重构花了一点时间,只剩不到一个小时的时间,做 \(T3\),想了半天有没有高妙一点的暴力,但似乎想不出来,直接开搜!
这种简单的搜索我反而调了好久才调出来,只剩半个小时了,感觉这个时间就算会了正解也写不出来,干脆开摆不想了,开始查错。有了之前代码乱掉的前车之鉴,静查的时候我很小心翼翼,不敢怎么动鼠标和键盘。
出来抓住 Linshey 问了一下,他和我一样也是 \(80+64+13=157\),那感觉这个分还行啊。结果后来遇见的人每个人都会 \(T1\),属实是被区分了。(但他们的期望总分似乎没有我三个暴力拼起来高)
下楼后得到重量级消息,昆山有阳性,不能聚集,我们明天六点多就集合走,闭幕式和讲评都没了。很震撼。
感觉今天 FJ 考得都很烂,除了 rsy \(160+\) 以外似乎就没有比我这个分数高的了?期望总分除了 rsy \(320+\) 稳了,yc \(293\) 不确定以外,剩下的人感觉都没机会。
听了别人讲的 \(T2\) 做法,似乎和我性质 C 过不去样例的做法一样?那可能是我赛时写挂了,但以为是自己假了。但也无所谓了。
下午出分提前了,快得离谱!
打开电脑一看:\(60+40+4=104\)。重量级!怎么三个题全挂了!
看了下测试点情况,\(T1\) WA 了五个点,是树哈希挂了。寄!我以前的树哈希是假的,以前做的树哈希题数据真水!
\(T2\) 爆搜全挂了。性质 AB 的最大点也 WA 了,测了一下,发现我没开 long long!
我静查的时候主要都在查容易挂的 \(T1\) 网络流暴力和 \(T2\) 的特殊性质,完全没想到过了数个样例的爆搜能挂,这告诉我们静查一定要全面,也不能偷懒不测极限数据!
好多人多过了一些分,而我挂了好多分,但感觉小问题,除了分数过于丢人以外,再怎么挂我就不信能挂下 Ag。
今晚 FJ 省队约定两点睡觉,熬夜团建!
回宿舍的路上,发现好多人已经拎着行李箱走了,NOI2022 就要结束了吗?我仿佛还在梦中,不想让梦结束。
回到宿舍继续打 Celeste,昨晚为了第二天不手疼,只玩了一会。今天终于可以尽情地打了。
吃晚饭,感觉还在的只有寥寥无几的几个省了。
晚上听说线出了,不算笔试 \(303\)。yc 算上 A 类 \(298\),被卡了 \(5\) 分,好惨。FJ 今年又只有一块金牌,FJ 什么时候才能站起来?
徽章还剩 \(7\) 个,再不换要烂手里,于是一群人在宿舍楼里到处串门,见到人,无论认不认识,直接换徽章。(其实感觉我对不认识的人有点社恐,但一行人有一个社牛就行了)
但还是没把徽章换完,回到宿舍里洗了个澡,定了个闹钟就开始团建。
说是要两点睡,但我一点多就开始困了,明天是 \(6:10\) 的车,五点多就要起来,于是先去睡了。
Day4 (8.26)
早上被嘹亮的《强军战歌》叫醒了。铃声定这个就是好,效果显著。
\(6:10\) 到了校门口,我们和 JX 的老哥们一辆大巴车。
在车上和 Linshey 一起写知乎评价,感觉他好会写。
八点上了动车,这届 NOI 就这么结束了,没有隆重的闭幕式,也没有任何告别。几位高二选手的 OI 生涯结束了,却结束得这么没有仪式感。
在动车上出榜了,Ag 和 Cu 线比预期高了好多,不过也没什么影响。
最后放几张照片吧。

换到的 FJ 省队徽章。

FJ 省队合影。

昆山狄邦华曜学校。

\(\mathcal{Whenever\ and\ wherever,\ NOI\ brings\ us\ together.}\)
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号