专栏文章

NOI2025 游记

生活·游记参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mip0yl43
此快照首次捕获于
2025/12/03 04:22
3 个月前
此快照最后确认于
2025/12/03 04:22
3 个月前
查看原文
书接上文,rk9 进入江苏省队。

7.2

代码源公益 day1。
T1 一个小时发现结论,再写了两个小时通过了。
T2 和 T3 拼暴力,那咋办。
100+25+50=175100+25+50=175,rk5。(排名是严格高于我的加一,因为罚时打不过同分的也太唐了,下同)
学会了 T2,竟然能这样建二叉树。竟然最大流等于最小割。

7.3

代码源公益 day2。
T1 一个多小时过了。感觉没啥难度。
T2 一个多小时就已经求对答案了(只有我是二分答案然后 dilworth)。然后上 trie 直接构造答案构造了将近三个小时,玉玉症了。最后写了个搜索答案的 O(kn)O(k^n) 获得了 6060 分(n105,k4n\le 10^5,k\le 4)。
T3 写了八分钟的 2727 分,没调出来,只有 99 分。
100+60+9=169100+60+9=169,rk33。倒闭了倒闭了倒闭了。下次应该稳住心态写暴力的。
下午胡了一下 T3,一下子就会 2log 了,但是要写很多代码。逆天场。
T2 学会了。这怎么想到的?
晚上和 pak 和 mygr 打斗地主。

7.4

早上和半个下午写了【数据删除】题的若干份代码。没有补题,因为想补的大概当天都补完了。
然后后半个下午做一下 mx。感觉 T2 很简单。T1 咋做 T1 咋做 T1 咋做???为啥大家都会做?
然后 T3 编了个结论,不会 dp。学了 yrq 的平方 dp,然后感受到大概可以树剖然后凸优化。这是人能通过的?
晚上接着斗地主。

7.5

代码源公益 day3。
T1 怎么这么难啊?我的 O(n3)O(n^3) dp 在一个小时的时候才通过 n=3n=3,原因是忘排序了。然后二十分钟过了。
T2 怎么这么难啊?竟然不是停时定理啊。那咋办。概率难算那就考虑放回,然后编一下。怎么编。大概想了接近一个小时得到了一个看上去有点道理的做法,决定手算一下样例。算了十几分钟发现竟然是对的(中间可以借助代码状压算一个的期望)。然后就开写了。然后发现我的转化的 O(2mm)O(2^mm) 过了,开心。
然后尝试考虑容斥。我容斥太差了啊。做了半个小时才把容斥写明白,这时候是 O(3m)O(3^m),但是非常有扩展性!花了十分钟改成 O(m2)O(m^2) dp 然后通过了。
感觉 T3 完全不可做,拼了一个多小时包通过了所有特殊性质。
100+100+47=247100+100+47=247,rk1。耶耶耶。
原来大家 T2 竟然都是不放回啊,这么变态,理解不了。然后发现我连自己的第一个转化都理解不了了。不管了,就说过没过吧。
T3 有点唐,不想补。
晚上四人斗地主和爆炸猫。新学的游戏还能十把赢了四把,好玩。

7.6

代码源公益 day4。
T1 三分钟看完题加写出 O(nq)O(nq) 的暴力,还通过了 n,q105n,q\le 10^5 的包。
然后改线段树。扫描线把 i 写成 l 了(往左扫左端点,而 l 恰好是用过的变量)。在二十分钟的时候才通过。
T2 感觉很困难。二十几分钟才发现每个国家竟然必须连通。然后又想了十几分钟才发现充要条件。然后又想了十几分钟直接树 dp 距离区间,发现不会做。然后发现可以直接把状态设成每个点。那限制是邻域加。那淀粉质。那做完了。
半个小时写完了。现在是两个小时。
T3 是题吗?好像四个的一定能全覆盖。真的吗?如果是上升点列呢?玩了一会儿发现好像也行。那就三方枚举。
写一个点的情况的时候发现需要二维数点。但是离散化完了好像是 mm 啊去你妈的,然后写了主席树。写完发现离散化完了是 nn。然后把主席树删了改二维前缀和。愤怒。
然后总共写了不到一个小时,拍了一拍就过了。挂的地方竟然全是只选一个点和二维前缀和。复杂度是 O((4n)3×7×2)O((4n)^3\times 7\times 2)(算答案的时候划分成 7×77\times 7 的矩形),这个常数还没算上二维前缀和的四倍。反正跑过去了。
100+100+52=252100+100+52=252 跑路,rk1。T2 过了 48 个,T3 过了 0 个,如此模拟赛,令人汗颜。
mx t1 都不会做,那咋办。
晚上 UNR 笔试。意识流做完之后还错了一个题,这下质疑精神状态了。
警钟敲烂。
晚上看了一眼 CF。怎么 DEF 都这么难。然后 DE 和 F1 会了,睡觉了。

7.7

F2 怎么这么难。
UNR day1。
T1 怎么这么难。
想了一下发现好像 C 性质挺好做的。写一下。画了几个图手玩一下,写一写,调一调样例 2,运气很好,在四十分钟的时候通过了。
感觉剩下的部分也不是很难。写一写,调一调。最后样例 2 挂了 O(1)O(1) 个点,找出来发现竟然是 C 性质。那你数据也太弱了。然后改了一个错的时候就过了,这时候是七十分钟。
旁边 pak 本来一直在看知乎,然后突然说会 T2 了然后开写了。吓。
然后想了一下贡献可以摊平了拆到每条边上。平方都不会咋整。然后想了一下感觉至少应该有个东西是增量。好像是点集。写一下三方,然后 wa 了。这时候是将近两个小时。
然后自闭了二十分钟,感受了一下,感觉费用流就证完了,然后调一下样例才发现是三方写挂了。改一下就过了。
然后打一些表看看性质。猜一下是不是互相包含的。assert 一下发现挂了。改一改又不挂了。大雾。然后又想了好久,想起来打个表看看是不是先选的一定不会包含后选的。然后想想好像就只要维护区间信息就做完了。这时候是两个半小时。
然后写了二十分钟的暴力。然后平方过了。改了十五分钟主席树。然后被卡常了。卡一卡就跑到 1.3s 了。
T3 这么难。写了个乱搞,直接求每个点是否可达所有点。交上去只过了 sub1。然后跑一下样例发现知道哪里错了,必须选一条路径,两条分叉不能同时选。好像这个 hack 规模都在 10 以上,那 sub1 就对了。
100+100+12=212100+100+12=212
没挂,rk 22。怎么这么多 T3 高分啊?????金线 208,那咋办那咋办那咋办那咋办那咋办。
下午,代码源公益 Day5。
奋斗一小时不会 T1,只会 T2 的 2424 分。遂开始跟进 unr 的 st。然后又奋斗了一个半小时只会把 T2 的 2424 改成 3232 然后改成 4646
这个时候被透了 T1 要思考区间被删的充要条件。那会了啊。然后半个小时就通过了。牛气冲天。
T3 不想看。
100+46+0=146100+46+0=146
晚上出去吃火锅。斗了两个小时地主。回来四人斗地主,爆炸猫,毒药,毒药连着三把第一,好玩!

7.8

UNR day2。
T1 怎么这么难。找找规律过了 ai=0,k1a_i=0,k\le 1。这个规律有点好玩,然后就发现了一些关键性质,通过了 ai=0a_i=0
然后这个连 k=0k=0 我都不太会 dp 啊?大概会了一个跟 2k2k 有关的状压,可能是 22k+ϵnpoly(k)2^{2k+\epsilon}n\text{poly}(k)。但是不想写。
然后对着暴力验证了更多有用的结论。在两个小时的时候终于通过。调代码的时候 pak 举手高呼会了会了我无敌了然后写了几行接着刷知乎(大雾)。
想了一会 T2,发现和 CTT2024 D3T3 有点像,有点想法!写完了一部分代码,然后又想了一会儿发现划分独立集部分好像根本做不了!然后又想了一会儿用一个很蠢的办法大概解决了。
写一写调一调,毛估估按照 f(myansrequire)f(\frac{\text{myans}}{\text{require}}) 这个评分的话有不少分。然后获得了 72.872.8 的好成绩!然后拼了一下 sub1(对的,它过不掉 sub1),变成了 74.6374.63
pak 由于刷知乎刷太久了,现在才通过 T1。
然后写一下 T3。发现了 O(n2)O(n^2) 可以通过 sub3!!!获得了 16 分。
然后开摆了。相当于每天只打了四个小时,那咋办。然后开始写游记了。
最后是 100+74.63+16=190.63100+74.63+16=190.63。没挂,rk18。
下午去线下打麻将了,打了两把都吃四了,好耶。
然后中途出榜了,99+100+100+12+100+74.63+16=501.6399+100+100+12+100+74.63+16=501.63,喜提 rk10,以及前十名唯一一个 D1T3 低于 4040 的(而且还只有 1212)。

7.9

早上发现两天前的模拟赛出榜了,rk16。想不到 T3 不动也有这么高,好像是大家都没认真打,T3 貌似不是很难啊。
然后是,代码源公益 Day6。
T1 看着就非常困难。看一眼 T2 发现又是这个从来没做过的经典大模型。T3 看着非常分流器。
然后 T1 看到 Ai=3A_i=3 上去猜了一手 3m3^m,然后发现依赖开错了?然后想了一会发现他妈的怎么不连通。然后也不想写,想了一会儿 Ai=2A_i=2。发现是环计数,好像并非困难,然后写了一发,得 0 分。
然后急眼了,写了个 O(2mm)O(2^mm) 的暴力开始检查。发现我式子打错了。然后又发现这个沟槽的图不连通答案还要减掉连通块数再加一。然后过了这个 sub。然后一分钟过了 Ai=3A_i=3
然后不会做啊?还不知道为什么 Ai=3A_i=3 一定可以构造出来,至少毛估估感觉是对的。然后就开始猜做法了,大概是每个连通块先把 w[2w]+1\frac{w}{[2|w]+1} 的权值乘上,然后就是乘上选择偶数边使得合法的方案数。编了一个 dfs 树相关的做法,调不过样例,发现假完了。然后脑电波了一个把奇数边缩起来,写了一下就过了。
然后才发现奇数的构造。
T2 看着就很唐。首先一看就是暴力修改,要找到修改的位置。好像很多地方直接暴力是对的。好像二度链上是错的,那是不是直接在树上维护链剖。我会把链底放到链顶!但是询问的是编号为 AiA_i 的蚂蚁,那只要找到它在哪个点就对了!然后发现不会做。
然后开始编维护蚂蚁的相对位置。这个感觉比较有道理。考虑把相对位置建成一棵新树。每次修改相当于把所有度数至少是三的点的儿子合并成一个。看上去很可以 lct。举个例子:
CPP
7
1 2
1 3
1 4
2 5
3 6
4 7
如果在这棵树上操作 11,那我们要把 2,3,42,3,4 合并。这时候首先需要合并集合,然后选一个主元。以 22 为例,我们可以把 3,43,4 两个点删掉,然后把它们的儿子 6,76,7 连一条边到 22。这样就全对了。唯一的问题是找到它的父亲,所以使用 lct。
考虑合并顺序,其实应该从下往上合并,这样每个三度点操作的时候的儿子都应该是二度点(可以发现合完之后新的点就只剩一个儿子了)。具体实现可以不按深度排序,而是采用递归的方式:如果一个点的儿子是三度点还没操作,那就操作一下。中途维护一下三度点集合就好了。
贺了 deepseek 写的 lct 板子。写了好久,拍了好久,到比赛三个小时的时候还是 00 分。中途还调了它的 lct。问题是它在 pushdown 里交换两个儿子,但是找父亲的时候竟然先判断儿子是否存在再 pushdown
然后最后在三个半小时的时候通过了。
T3 打了 2323 暴力跑路。
100+100+23=223100+100+23=223
最后 pak 声称会了 T3 7777 但是写不完了.jpg:
结果结束一看怎么不仅有 ak 的还有十三个通过 t2,那咋办,感觉天塌了。
结果一出榜一看居然是唯一 rk2。大家 t3 暴力都打不过我??
晚上去 pak 房间看超天酱 cos,学了好久怎么把彩带挂到假发上,好高妙!还充当了一会儿衣架子(戴着假发让别人操作),但是被抓拍鬼图了/ng。后面让我拍照,但是没拍出来好照片啊,那咋办,最后还是对镜自拍的一张最好。tyx 真神了。

7.10

代码源公益 Day7。
怎么这么快就要到 noi 了??
我草,三个 nn 很小的 dp,那做你妈呢。
奋斗 T1。先按性价比贪心,然后可以微调。那特殊性质都会了啊。然后编了一个折半,编了一个小时细节,做法是枚举两边的路径,然后求出每个性价比分界点附近的 O(1)O(1) 个点(开了 100100 左右),然后合并。然后发现 n=2n=2 就卡掉了(理由是分界点处的值可能在某一半边去了一半,就错了)。
一个半小时了得 0 分??然后想了一会儿 T2,二十分钟通过了。这是人???
然后写 T1 的乱搞,大概证了一下复杂度是 O(exp(ne))O(\exp(\frac{n}{e})) 状物,然后写微调 dp,犯了五六个低级错误,然后在三个小时的时候通过了。
然后 T3 先写 O(3n)O(3^n),发现怎么转移有环?把环去掉怎么这么难?发现不会合理写出转移顺序,遂写记搜,调了好一会儿(二十分钟),然后光荣 tle。
然后想了想好像可以压一压状态(关心每个 aa 的出现次数),然后以最大点 7373ms 的好成绩通过了 sub1。
然后想了想为什么不能跑 sub2 呢?改了半个多小时改对了,sub1 最大点 1212ms,然后 sub2 光荣 tle。
赛后发现一点点剪枝都没加,完全倒闭了(例如加起来足够多的时候就可以 return 1;)。
那咋办那咋办那咋办。这能 poly(n)\text{poly}(n)?这能 poly(n)\text{poly}(n)?这能 poly(n)\text{poly}(n)
100+100+20=220100+100+20=220 跑路。
七场平均 17(175+169+247+252+146+223+220)=20447\frac 17(175+169+247+252+146+223+220)=204\frac{4}{7},还行。平均每场过了 1471\frac{4}{7} 个题。
然后出来一看大家搜索都有 60,8060,80 的好成绩,破防了。被搜索剪枝干爆了。我为什么不会剪枝??
最后是 rk12。

7.11

没搬地方。
上午十点半突然想学 lct,紧急突击,午饭前背出来了,过了板子。
中午吃了烤肉,又贵又油,那咋办。晚上吃了烤肉隔壁的煲仔饭,还挺好吃的。
晚上妈妈和弟弟来了。好耶。

7.12

上午搬酒店。哇新酒店好牛的样子,但是我住不了。
下午睡了一会儿去学校了。沟槽的下雨啊。然后找宿舍没找明白,一开始到 3 栋 3 楼去了,绕了半天,回到 2 楼找到了宿舍门口,然后终于找到了宿舍。发现了三餐券,真唐。
然后打了一会儿斗地主去吃晚饭了,晚饭还挺好的啊,还有拿走一整瓶雪碧的传统艺能。
晚上开了把雀,由于故意乱打终于下到了杰二。四麻的豪一就不动它了。
发现没带毛巾??洗脸巾启动……
九点四十睡觉了。

7.13

晚上睡的不是很好,醒了两次都不敢睁眼,怕睡不着。然后七点起床。
开幕式启动。感觉后面的节目都很有趣,很好看,很震撼,非常好啊!有人喷节目是抄的,但是有乐子本就挺好了,抄不抄的不重要啊!连舞蹈和唱歌都是很不错的!
然后定着大太阳拍照和领密码条。
中午背了一会儿笔试,然后睡了一觉,打算到一点半,然后再去集合。结果一点四十多到那一看大部队正好要走,无敌了啊!
然后场馆里非常热,出了好多汗,又看了一会笔试。
进场,左边 pmd,右边 xzh,wrk,tyx,畅聊,优势在我!然后试机写了 noip t2 和 sam,然后考前两分钟畅聊 Fn 那些命令。然后笔试轻取满分,耶!然后中途不知道干嘛,十分钟写对了 lct。
然后不让回去,玩了出包魔法师,完全玩不明白了。
晚上写一下 sa(重点可能是 height),检验方式是和暴力求两两 lcp 比对。七分钟通过。
晚上八点半熄灯,然后翻来覆去将近两个小时睡不着,然后不知道怎么睡着了。

7.14

五点半的时候梦到自己醒了,然后被诈骗得睁眼睛了,结果真醒了,难过。有点晕,小问题。
快进到进考场。三十八分就坐到座位上了,然后不知道怎么度过了二十多分钟的时间。密码是 noi45*45=2025!
先看了一遍所有题目,发现两个 109+710^9+7,吓人。读懂 T1 之后发现是宝宝题,但是先写了个平方暴力,过了样例之后写正解,二十分钟通过了。这时候是 8:23,考虑到总次数有点少,先不交,等下一档想交的部分分再说。
看一下 T2,大概想明白了一些性质。大概就形如一个点开始一直往后推进,然后两处推进会合。那第一问至少有 n3n^3 了吧?感觉很像二轮省集训 day 忘了 T3。写了一下,写法是对于 [l,r,p][l,r,p],先枚举 ll,在 pp 的位置存下来,再在枚举 rr 的时候枚举 pp。在 8:50 的时候和 T1 一起交,获得了 100+36+0100+36+0(对的,n3n^3 第一问除了后两个点都过了,连 3500,31043500,3\cdot 10^4 都过了)。
然后把 rr 处的枚举 pp 改成了二分,就是 n2lognn^2\log n,通过了第一问,但是这里莫名其妙花了 3030 分钟,还写了拍子。这里是 9:20
然后想一下第二问,感觉确实很容易算重。一开始魔改我的第一问做法,写了点 12\frac 1214\frac 14 状物,测样例发现 case 太多了,遂换做法。想到了直接转移一个区间,令其中有 11 个或 00 个非零,推了一点条件,发现最后的和大概是 (1)iai\sum (-1)^ia_i 状物。然后写了一下,好像直接暴力就是 n3n^3。这个时候还没想明白会不会算重。然后运气很好直接通过了,获得 7676(有 6060 的满分,剩下是 40%40\%)。这时候是 9:53
毛估估可以直接二维数点。先看区间和是 00,我草是不是只要一个 cmp 就好了。然后再看非零怎么二维数点。欸好像是不是枚举完 l,rl,r 之后形式非常简单,是不是不需要二维数点。写一下前缀和。那 n2n^2 了。调了一会儿,10:07 交了一发,直接过了,跑 33s。
然后发现我的第一问实在是蠢完了。把它改成第二问的做法,又调了好久 i,ji,j 写反,在 10:21 的时候 0.60.6s 通过。那 66s 何意啊?
然后开 T3。首先看样例发现答案是 22 的幂。那也不会啊。这个 AB 性质竟然没给样例,那是不是猜猜猜。那不得不写暴力了。花了好久才写对 22n1n22^{2n-1}n^2,原因是根本不知道怎么搜索所有 dfs 序。然后手造了 n=10n=10 的完全二叉树,发现本机跑了 44s???然后加了点卡常,然后发现一点用都没有。然后发现编译命令写成 g++ 2.cpp -o -O2 了。然后直接对着 n=4n=4 的满二叉树猜猜猜。好像答案是每次除以 22 啊。然后不想交,接着思考。
然后想了想还是想要验证一下 AB 性质的结论。在 10:52 交了一发,得到 100+100+16100+100+16 的好成绩。还有两个小时,怎么输???
然后随机思考了一会,发现没有往 22 的幂上思考。然后想了一下刻画 dfs 序,那就是每个非叶子节点抉择一下先往左还是先往右。那大概是不是有一些点可以随便选,剩下的点就固定了?那好像根是随便选的,然后呢?
然后想起来那个条件了,我之前竟然忘了。那就是不存在 abab。那这是不是充要条件啊?枚举一下两个颜色 a,ba,b,然后呢?对于 A 性质相当于根的两侧有两个点作为两边 a,ba,b 的 lca。那限制大概就是这两个 lca 的走向必须相同或不同,那是不是连起来。那如果不是这个形态呢?从合并的角度分析了一下,只有三种情况,如果是 a,aa,a 先连起来那就没有限制(这四个点完全没有祖先后代关系,真厉害),否则除了那个就是一个 abab 连起来然后依次往上挂上 aabb。想一想大概也是,两个点的决策相关啊!那是不是,对完了。
大概想了一下怎么实现,好像需要写树上问题了。那就写个 O(1)O(1) lca。然后大概就是每次加入一个颜色就枚举之前一个颜色,然后用并查集合并非叶子节点。运气还行,调了一会儿就过了,这时候是 11:25,获得 100+100+64100+100+64,怎么输???
然后想开摆了。想了一下 A 性质,发现完全不会做。B 性质怎么有这么多分?想一下满二叉树难道有性质吗?欸这个深度是不是不大?那是不是加入一次颜色,影响到的点对只有 log2n\log^2n 个???想一下 A 性质的部分大概可以套个 map 解决,后面估计差不多,那是不是做完了???
然后调了好久才调明白,中间不小心改到了输入的一行 RE 了好久。然后才发现跑样例 55 竟然没 diff 出锅。然后发现样例 55 本机 7.57.5s,那咋办那咋办那咋办???
然后先加上快读,稍微快了一点点。然后发现三个 case 里有一个好像限制都是祖先后代关系,不需要 map,改成数组,又卡了卡,变成了 44s。然后玉玉了一会儿,发现另一个限制大概也可以开数组,然后变成了 3.73.7s,哦耶。
这时候是 12:12,交一发,100+100+80=280100+100+80=280!!!发现本机 33s 样例,交上去 1.61.6s???然后感觉剩下的东西完全不可做,开始罚坐。
一开始重新看了一遍三个代码,长度大概是 3,2,43,2,4 KB。然后又重新交了 selfEval。然后还有好久,发现没举过牌子,举了水牌。不想吃东西。然后想了一下 T3,感觉完全做不了,然后突然发现可以用满二叉树跑最后几个包。然后交上去发现 2424 跑了 4.44.4s???但是好像我完全卡不动常数了。(flag)
然后开始数秒,又用了不知道什么方法终于熬过去了。出场问了 pmd 256256,感觉要赢了!然后直接给爸妈打电话,吼不可能输(最后发现这只是 Au 的必要条件,结果真输了)!然后冷静下来发现这个分好像很简单。
然后出来问问发现好像有些 280280 的。但是比队线高就行。
问 dyh 发现他说 T3 巨大傻逼,然后说了一个等价类结论。我操你妈???这他妈啥???不管了,活该做不出来。然后回宿舍讨论了好一会队线相关,发现队线好像没啥意义。感觉 day2 还是需要好好打的。
查分,发现没挂,结果 2424 跑了 4.054.052525 跑了 4.24.2?????那不是再卡卡就过了?????急眼了,但是没办法了。好像有阿克的,那咋办。
听讲题。VegChicken,忘了,1kri。T1 出题人在说啥。T2 说了啥,反正是不是一下子就做完了。T3 题解怎么只有三页?第一页给出结论,后面给出调整和证明。那咋办。然后正解是线段树合并维护 01 串,然后这个竟然是可以直接排序的???好深刻,好像之前就想不到这种东西。那不是 log2n\log^2n 吗?然后这个优化是一层一层做,那类似整体二分啊,也好妙!但是感觉根本做不出来这种东西啊?
晚上不想吃饭,吃泡面了。脚有点疼,那咋办。发现趣多多很好吃。
晚上聊到了十一点。

7.15

五点多就醒了???然后看手机到七点半,直接走。
过去的路上玩飞行棋,到最后我和另一个忘了谁一对一拼运气大获全败。感觉 noi 期间所有运气游戏都全错了,好耶!
科技馆,为什么带队走这么快?第一层还跟上了,第二层直接不管了,都玩一遍再说!发现这种可以上手操作的设施还是太吸引人了,感觉仿佛还是小朋友。
然后光荣走丢了。找了半天,最后在影院找到了。好看,感觉很棒啊!但是不知道为什么看一半就没了。看的时候感觉这个社会实践活动还是很好玩的啊!
然后后面逛了一些展厅,就没啥意思了。然后换了一个馆继续逛??还是走过去的??顺序又是神秘的 312??
后面都没啥意思,还有点困。
下午怎么没事干啊啊啊啊啊。

7.16

先不记了。等有心情了再回来写。
反正 Ag 了。死因大概是 T2 的容斥方向全错,得到正确方向之后只剩一个小时,赛后又做了一会儿就做出来了。
评价是 noi 为什么只有两个题?

评论

1 条评论,欢迎与作者交流。

正在加载评论...