NOI 2022 游记

NOI 2022 游记

感觉这几天发生了很多事啊,比如见到了很多以前只在网络上见到的,甚至只在网络上膜拜过的人,换到了一些徽章。

前两天发生了什么可以来看看随感。就从 Day -1 开始写起吧。因为写这段话的时候是 Day 1 刚考完,所以啥情感色彩不带了。打算先把自己考试的主线写完再写支线。

Day -1

白天摆了。说要看看板子也没看。晚上睡觉的时候,我知道我应该再过一遍关键的知识点,但怎么说呢,真的很难控制不去想明天将要发生的事。Day1 考炸了怎么办?Cu 了怎么办?更甚者,Fe 了怎么办?如果 Ag 呢?甚至臆想一下 Au。翻来覆去睡不着。但幸好躺床上得早,也在合理的时候睡下了。哎说实话,我这种弱省里不太突出的选手也能认清自己的实力就是撑死 Ag 中等靠下,但还是忍不住去想这些东西,这也为明天我心态埋伏笔了吧。

Day 1

6:40 起床,墨迹了一会儿七点多去食堂,吃饭,吃的有点多,撑了。然后压着线到了考场。到了之后开始罚坐。我考前会莫名紧张,但开考之后也就没了。8:00 到了,监考员正式宣布考试开始。

8:00。比赛开始。开题,这 \(\tt T1\) 是什么啊?大 DS 吗,我不会写这种啊。\(\tt T2\) 像是个博弈?再看一眼发现是个奇妙的 AT 类型的性质题。\(\tt T3\) 是交互,但这题面也太长了吧,先不看了。

8:10。理了一下当前的情况,显然对我来说可做的,应该做的题只有 \(\tt T1\)。于是我开始着手分析。这个 4 操作看起来很线段树合并,但问题在于 1,2 操作栈结构的维护。不过稍微想一下可以发现,1,2,4 可以用启发式合并维护,这样栈结构就有了。所以问题在于对于一些值域线段树做 3 操作。

8:40。瞎分析了好久也不知道这个 3 操作怎么做。回想自己知道的和绝对众数相关的做法,似乎也就摩尔投票了。但我已经忘了这东西具体是什么了,于是我随便胡了一个,也不知道是不是对的。考虑维护 \(\rm now,cnt\) 分别表示当前的主元素和它的数量,如果下一个元素等于 \(\rm now\) 就给 \(\rm cnt\)\(1\),否则就给 \(\rm cnt\)\(1\),如果 \(\rm cnt\) 因此变为负数,则将 \(\rm now\) 设置为下一个元素。容易发现,如果存在众数就一定能找出来。

9:00。整理了一下摩尔投票的思路,我们可以对每个序列维护它最终的 \(\rm now,cnt\),并在最后合并。虽然这样得到的结果和直接顺次合并可能不同,但依然能保证找到众数。最后验证的时候只需要对每个序列开一个值域线段树即可。

9:10。这题就做完了吗?我去了个厕所整理一下思路回来就开写了。

9:40。基本上写完了。但在样例没过后,我发现了一些严重的问题。这也是我这次 Day1 最大的失误,那就是对这个方法没有仔细验证就开打了。首先用 std::vector 维护启发式合并的话显然不能考虑先后顺序,然后这个摩尔投票似乎是不支持删除的。后者还好,毕竟只是其中一个思路寄了,但前者相当于把我从头想到尾的思路基石全盘否定了。

10:00。我慌了一会儿,然后突然发现已经考试开始 \(\rm 2h\) 了,而我还在罚坐。我急了,决定不能再这么耗下去了,于是观望了一下部分分。这个 \(\rm A\),保证不带删除,这就能用摩尔投票了,因为这样就既不用管删也不用管先后顺序了。然后 \(\rm B\) 值域只有 \(01\),这个我一开始以为可做,但我发现我不能维护先后顺序,就只能作罢。最后 \(\rm C\) 的只有一个序列,这个显然随便维护了。我整理了一下,这就有 \(\tt 75\) 分了。便着手开始写。

10:40。写了 3 个子任务,因为摩尔投票的代码被我误删了只能重写。过了大样例后我便开始写对拍。

11:00。造数据还挺麻烦,不过总算是拍上了。不行,得赶紧看 \(\tt T2\) 了。

11:10。我看看啊,这个 \(\tt T2\),单点减 \(2\),至少长度为 \(2\) 的区间减 \(1\)。看起来还挺有规律的。

11:30。随便胡了几个结论都没有过大样例。诶?不科学啊。再看一眼题啊。?单点减至少 \(2\),至少长度为 \(3\) 的区间减 \(1\)。原来我对着读错的题冲了二十分钟。那不管了,先打暴力吧。

11:50。暴力还挺难调,但总算是写完了。现在我面临一个抉择,到底是去写 \(\tt T3\) 的暴力 \(\tt 10\) 分还是继续写 \(\tt T2\) 的结论 \(\tt 10\) 分。考虑到我 \(\tt T2\) 已经有错误题意的印象了,我还是决定去冲 \(\tt T3\)

12:00。读题。

12:05。读题。

12:10。终于读懂了。什么玩意啊。一个是保留其中一边的点集一个是并集是吧,那这 \(\tt 10\) 分暴力好写了。

12:20。写完了,但这个样例 \(1\) 怎么说我非法操作啊。

12:30。还有半小时就结束了,但我还是不知道怎么非法的。

12:35。通读题面,发现是保留一遍和取对称差。这是我第二次读错题了。

12:50。顺着对称差的思路怎么想都想不动啊。眼看考试快结束了,也只好再检查检查前面两题,确保已经拿到的分真的拿到了。

12:55。开始紧张到反复确认 freopen,保存路径等问题。

13:00。已经结束咧!

细细一算,我只有 \(\tt 75+15+0=90pts\),按照往年这看来是要打铁了吧,只能说技不如人啊……

出门碰上其他 HA 的同学,惊讶的发现都和我分差不多。然后问了一下 \(\tt T1\) 的做法,突然想起来一个东西叫 std::deque。用这东西代替 std::vector 做启发式合并不就能写 \(\rm B\) 了吗!可能还能写出正解!啊啊啊啊啊啊!我考场在干什么!

然后去群里问了一圈我这分果然不高,但令人惊讶的是似乎也不低?我考的是 NOI?不是什么奇怪的毒瘤比赛??

然后查分,大的要来了。一车人,因为 std::deque,在空间 \(\rm 1GB\)\(\tt T1\) 出现了 \(\tt MLE\) 的问题。然后不明不白的挂了好多分。好吓人,幸亏没想到 std::deque。然后我去查分的时候,教练已经帮我点开了,和蔼的告诉我我考了 \(\tt 90pts\),也就是一分没挂。还挺好。

下午在宿舍摆,然后就去听讲题了。\(\tt T1\) 有好多做法,但我怎么就一个没想到呢。\(\tt T2\) 是什么,\(102^9\) 种状态,爆搜可以发现有用的只有 \(\rm 8k\) 个左右,什么阴间。\(\tt T3\) 是zx 的阴间树分块题,部分分给的非常散,我写这玩意算是抉择错了。

晚上想了想今天的考试。还是太紧张了,该想的没有想,读错了两次题,这是我从来没出现过的失误。再加上对于 \(\tt T1\) 暴力分较多的判断失误,冲 \(\tt T1\) 正解太长时间,导致这次考试比较失败。后来得知多哥发现 \(\tt T1\) 暴力 \(\tt 75pts\) 后直接去冲 \(\tt T2\) 正解,并且成功了,震撼。

Day 2

中间那一天先跳过去吧,在最后写。

早上吃饭,还是吃的有点撑。还是跟前天一样的节奏,不过这次我突然想拉肚子,然后去厕所,发现有一车人等着上,而坑只有三个。没办法,拖到离考试开始还有 \(\rm 5min\) 才坐到位上。8:00,宣布比赛正式开始。

8:00。比赛开始。开题。我昨天晚上想了一下,因为 Day1 的情况,似乎 Day2 只要稳住就有 Ag 了。我想,我还有一年,今年先把 Ag 保住有个约,明年就不会这么紧张了。于是今天应该就是暴力场吧。

8:10。通读题面。\(\tt T1\) 是个树同构,我有点慌,因为我已经不会树哈希了,但只要会树哈希就有 \(\tt 76pts\) 的高分。\(\tt T2\) 是个神秘的最小化逆序对数量的题,我对这种让区间最值恰好是某个数的限制很没办法。\(\tt T3\) 看起来就是个暴力走人的题。

8:30。开始胡树哈希,大概对着 \(\rm siz\)\(\rm dep\) 乱搞了一通。

9:00。用自己胡的树哈希写完了 \(\tt 76pts\),但发现过不掉样例。于是开始改良。

9:30。经过若干改良后,在一次之后我也不知道为啥它过掉了所有的样例。发现时间还早我决定去冲 \(\tt T2\)

9:40。这个区间最值恰好是某个数的限制太神秘了,我实在搞不懂。只能看看部分分,其中值域为 \(01\) 和区间长度均恰为 \(1\) 的似乎能做。前者可以贪心之后写一个 \(\mathcal{O}(n^3)\)\(\rm dp\),后者似乎贪一下就行了。

10:00。冷静想了一下我贪心的思路,感觉哪里不对,但不知道哪里不对,那就写写看吧。不过在此之前我得先把暴力写了。

10:20。写完了比较难写的暴力之后,我发现它似乎能跑比较大的样例的一部分于是决定测一测。但一测发现错了。

10:30。真调不出来哪错了啊,这也太神秘了吧,暴力都能写错的吗。

10:40。端详一下发现我这个写法可能读错位,于是改了一下。但还是不对。

10:50。终于发现了我读入较大的数据可能会越界 UB 的问题,改了就过了。于是我成功虚空调了 \(\rm 30min\) 暴力。得赶紧冲 \(\tt T2\) 的部分分了。

10:55。写着写着突然担心 \(\tt T1\) 的树哈希,毕竟是自己胡的,于是开始对拍,当然,只能拍 \(n=10\) 的。

11:10。拍出来一个错!!!我当时咯噔一下,这 \(\tt 76pts\) 不能没有啊!冷静一下,发现是暴力写错了,赶紧改掉继续拍。但转眼又拍出来一个!!!没办法了,手画一下看看问题吧。

11:15。画出来,这也不像啊,怎么会判成相同啊?

11:20。输出一下 \(\rm f\) 数组吧。诶,这父子关系怎么和我画的不一样?我突然发现我画错了。重画一遍发现就是一样的啊?

11:25。对,暴力又写错了。改对之后火速就拍上了。

11:30。耽误了这么多时间,\(\tt T2\)\(\rm dp\) 也不知道能不能写完。总之先写吧。

11:50。设 \(f_{i,j,k}\) 表示前 \(i\) 个数,已经有 \(j\)\(0\)\(k\)\(1\) 的最小逆序对。现在想想,我当时是觉得是有可能填 \(2\) 的,但其实根本没必要,于是这个状态完全可以改成 \(\mathcal{O}(n^2)\) 的。然后用贪心先把限制要填的数确定好,最后直接转移。

12:10。写完了,但没有过掉大样例。

12:20。手玩了一下大样例发现贪心假了。那这没办法了,赶紧先把 \(\tt T3\) 暴力打了吧。

12:30。打完了。这还是比较顺利的。去上个厕所回来检查吧,现在这个分虽然很暴力但两天加起来也上 \(\tt 200pts\) 了,在去年都 Ag 了,应该是没有问题的,只要确保不挂分。

12:35。其实说是检查,也就是紧张地一遍一遍看代码,根本没起到什么有效作用。之后就是垃圾时间了。

13:00。已经结束咧!

考完出来发现大家似乎都会 \(\tt T2\) 的部分分,只有我冲失败了。但因为坚信我这个分已经足够了,所以我也没太伤心。但还是一直害怕自己胡的树哈希假掉。多哥今天更为厉害,\(\tt T1\) 又是暴力,多哥也是自己胡的树哈希\(\tt T2\) 又切了,非常震撼。

下午查分,这次教练因为疫情进不来了,只能我自己点开。犹豫了一下还是点开了,发现没挂分,甚至还多送了我 \(\tt 5pts\),也就是 \(\tt 76+28+13=117pts\)。这样一来,不出意外应该是 Ag 确定了。我没忍住就在考场欢呼了一下。

晚上因为疫情都跑路了,所以没有讲题。于是考试的所有流程也就结束了。今天的考试策略大的方面确实没出问题,就是求稳,但似乎有点过了,再等之后的模拟赛调整吧。

一些有意思的事

笔试那天中午,伟大的、和蔼的、正义的、正确的杜主席莅临食堂指导。我当时在低头吃饭,一抬头就看到可敬的、亲切的、平易近人的、富有担当的杜主席走过来,我瞪大眼睛看着他,于是他也看到我了。于是就有如下对话。

“zyf?从哪来的啊?”

“河,河南”(我站起来)

“河南啊。河南热吧。有 40 度吗?”

“有,有啊。”

(笑)(旁边人拍照)

“那行,坐下吃饭吧。”

“嗯,好”(坐下)

我当时脑子宕机了,不知道怎么称呼他,于是基本啥也没说。事后发现他们拍的照片没有我,还挺伤心的。但有一个我同学笑着看我的表情,非常有意思。

这几天有很多的面基活动。首先是和 log,hh,bz,qa 四个群友吃饭,交流甚欢(线上)。然后和多哥,和上文他们四人的大富翁,非常有意思啊,记得 bz 手握一车房产,到一个地方 60% 都是他的。然后去找 szh,zty 等 zj 老哥狼人杀。这是我第一次认真玩线下的狼人杀,非常紧张。玩了一圈发现我拉低了房内的平均水平,房里还有 ix35,mrsrz 等神仙。之后多哥也来了,还有他的草稿纸。还有和 stl,SA 的雀魂活动,他们前几天刚刚面麻过,这次又来面麻了(线上)。然后是找 jerry 和 froggy 换徽章,很尬,但很值。哦,还有 Day1 考前的一个活动,这个也非常有意思啊,在随感写了。还有一次和 szh,zty,qa,dottle 一起玩一个转盘,五个人傻笑的非常开心啊。

我丢了一个杯子和一件防晒衣。/ng

最后感想

转眼就要离开了,坐在火车上写游记要一直回忆这几天的经历,真的非常梦幻,不仅见到了很多厉害的群友,也取得了一个自己相对满意的成绩。我原来一直不能理解为什么大家都说青春是美好的,毕竟在我这儿它是被模拟赛,被压力,被无聊的日常塞满的,虽不时起波澜,却也掀不起什么大浪。但经历了这次 NOI 后,我明白了什么是生活的多彩,什么是回忆的美好,什么是青春的活力。或许这一切是我取得成绩后的滤镜,但这次 NOI 里与其他同学的交流互动,终将在我人生里留下更加浓墨重彩的一笔。

转眼我已是准高二,留给我的 OI 生涯也只有一年了,是背水一战,还是求稳退下。我想,我的心会给出答案。

顺便,这次不出意外我大概是从 5 级直接跳到 9 级了,非常神奇,回想起几个月前我还在为 NOIp 失误错失蓝勾懊恼。

好了,写到这里也有 6k 字左右了,我这种想到哪写到哪感觉再多点就没人看了。那就在最后祝各位同学都能在出榜后取得自己满意的排名,在之后的人生里也能开开心心,一路高歌。

posted @ 2022-09-08 20:57  zhiyangfan  阅读(851)  评论(1编辑  收藏  举报