2026 国庆清北学堂集训游记

Day 0

早上 \(6:50\) 的火车,所以 \(5\) 点就起床了,好困啊!这次车票买的是一等座,因为二等座卖完了,不过感觉一等座除了宽敞点以及会送小零食以及水以外,没有什么别的优点了,不值。中午就到了酒店,酒店和上次来的是同一个,管理的老师也还在,有一种熟悉的感觉。然后就入住了,房间也和之前的差不多,还有琪露诺的冰雪小屋冰柜用来放饮料。然后我们教练就离开了,管理的老师也说可以先不收我们的电子设备,好自由啊!下午就比较闲,玩了一会 MC 又睡了一会午觉(其实睡了整整两个小时!),就到晚上了。晚上有一场洛谷 div2,因为加不了等级分就没认真打,把前两题做完之后,发现 T3 是计数,感觉不太会就摆了。然后就开始写我之前似乎想到做法了的喵了个喵,从八点开始写,写了快两个小时,终于调完了(我的做法是对的!),结果被卡常到了 \(95\) 分(猪生气.gif,然后开始优化做法,写到了 \(11\) 点还没调完,想到明天早上还有比赛就先睡觉了。

Day 1

上午模拟赛。T1 是伪装成博弈论的签到,\(5\)min 左右写完;T2 注意到和倍数有关,询问去重之后通过调和级数的分析容易发现总数量是 \(v\log v\) 级别的,而每条边只会被它权值的因数的询问影响,是根号级别的,然后暴力做就完了;T3 的题面和欧拉函数有关,感觉没什么思路就先写了个裸的暴力,发现数值会爆 long long,于是就改成用 map 维护质因数,写完后测了一下发现在 \(n\leq 10^6\) 的数据下要跑一秒左右,可能有 \(60\) 分,就先看 T4 了;T4 题面看得我有点晕,仔细看了几遍才发现就是求最长回文子序列,而输入给的 \(m\) 是没用的,想了一会想到可以设 \(f_{i,j}\) 表示左侧考虑到 \(i\),删了 \(j\) 个的最大右端点,复杂度是 \(O(500n\log n)\) 的,配合性质有 \(60\) 分,就也先写了。四题都写完也才过去了 \(2\)h 左右,剩下的就是垃圾时间,没想到什么有意义的做法,只是一直在尝试减小后两题代码的常数,然后比赛就结束了。

最终 T3 的代码还是没有跑过 \(10^6\) 的点,\(100+100+45+60=305\) 分,rk1。T3 没有人过,\(45\) 就是最高分,但是 T4 有一个过的人(我还是太菜了……)。中午回寝室,终于调过了喵了个喵!然后发现已经发了模拟赛的题解,但是当时有点困了,就没仔细看,先睡午觉了。

下午来到教室,看懂了 T4 的题解,就是设 \(f_{i,j}\) 表示删了 \(i\) 个,两端位置差为 \(j\) 时的最大左端点,这样 dp 就和 \(n\) 无关,再用哈希什么的简单判一下回文就可以转移。于是下午讲模拟赛题的时候我基本就在写 T4。模拟赛讲完后讲搜索和枚举专题,感觉没什么意思,先讲了几道做过的简单题,再讲了两道感觉思路不难但是代码有点难写的题,我一直在做自己的事,没怎么听也不准备写。晚上不想吃晚饭,回寝室休息了一会,就下来借助 GPT 看懂了 T3 题解。实际上也不是很难,注意到进行了 \(\log\) 轮之后数值就不受原数的影响,因为质数不会被清空所以每个质数的指数都成等差数列,后面的就可以直接算了,代码和我的赛时代码区别不大。之后就是自己找题做了。

Day 2

上午模拟赛。T1 没有那么签到了,但还是一眼二分图染色+钦定高度的贪心,代码有点难写,\(40\)min 过大样例;T2 看到有翻转位置操作,考虑把它看成翻转后面操作的方向,然后就是比较容易地确定区间和扫描线,就是翻转后原点需要讨论一下,有一点细节,大概 \(1\)h 写完;然后看了一眼 T3,似乎是我不太擅长的最短路;就先去瞟了一眼 T4,感觉像是启发式合并,就先写了一个暴力合并,然后观察。思考了一会,注意到合并操作只有 \(O(n)\) 次,那每次加点就可以暴力合并直到不能操作。但改完之后大样例错了,又检查了一会发现如果儿子的 \(b\) 是 \(3\) 而父亲的是 \(2\),那到父亲的数量为 \(2\) 的位置就没有被合并,会出错,所以又用了一个 set 维护数量为 \(2\) 的位置,调了一会就过了。此时只剩下 \(1\)h 左右时间了,我才开始看 T3,注意到一条边的权值只有两种,就套路地把边拆成两个点,这样边权变成点权,每个点只会被更新一次,就可以套路地维护没有被更新的点,跑最短路了。但写完代码却过不了大样例,调了很久也没看出来问题,只能遗憾交卷了。

结果 T1 挂了,\(55+100+20+100=275\) 分,rk1。中午检查我 T1 的代码,发现我二分图染色没有建图搜索,而是读入一条边就随机染一种颜色的!!!不知道我赛时在想什么,也不知道为什么我的代码能过所有大样例,还能在有捆绑的情况下拿 \(55\) 分。也是有点遗憾了。不过问题不大,rk2 才 \(205\),我 T1 就算爆零了也是 rk1()

下午有一场洛谷上的 ICPC,和同学一起组队打的,不过这场好难,我花了一个多小时只贡献了一道感觉不难的交互,我们队一共也只过了四道。然后通过询问 GPT 我发现了我 T3 的问题:应该在入队前就加上当前点的贡献。改完后又卡了点常才过,也算是赛时会 T3 了吧。忘了说,下午讲的是数据结构,因为讲的东西比较经典(甚至还讲了平衡树和主席树模板。),我没怎么听。

Day 3

上午模拟赛。T1 想了半个小时没什么思路,注意到无脑的暴力可以拿 \(60\) 分,就写了,感觉加上 bitset 什么的可能就可以过,但是我不是很熟悉 bitset,所以先 skip 了;再看 T2,又是最短路,考虑到作为 CSP-S T2 应该不会很难,就考虑直接在松弛的时候根据 \(dis_x\) 算快速穿行的代价,然后就貌似可以跑比较板的最短路了,我试着写了一下发现大样例都过了(虽然都很水。);再去看 T3,注意到 \(k\leq 8\),感觉可以状压 dp,但是直接做再加上 \(T=100\) 组数据显然会 TLE,就再套路地考虑折半,发现可以,就写了,然后大样例就都过了,稍微估计了一下复杂度貌似是 \(O(Tm10^{\frac{k}{2}})\) 的,感觉比较极限?T4 感觉可以费用流或用 KM 算法什么的,但是这两个东西我都不太会,又注意到记忆化搜索可以拿 \(60\) 分,就写了。写完感觉一次删到没有应该也是对的,就改了,然后我也不知道复杂度是什么,但是在一个看似极限的大样例下跑得很快,那就这样吧。然后又重新开始看 T1,通过和同学的简单交流,感觉可以维护两个点之间的路径数量,每次询问的时候判是否为 \(0\) 就行,这样就是 \(O(n^2q)\) 的,给路径数量随机找了一个质数来取模,就过了。然后后面都在卡常,没有什么有价值的思考。

最终貌似是没有挂分(虽然我自己都不知道自己有多少分。),\(100+100+100+60=360\) 分,rk1。(其实本来我是 rk2,有一个和我同分的 rk1,但是他 T2 写成无向图被出题人 hack 了,我就上去了。)

下午讲题就比较难绷了。T1 的正解是用 bitset 实现的 \(O(\frac{nmq}{w})\) 做法,也就是说我们的做法碾标算了(这个做法最开始是 mmx 大人提出的,太强了!);T2 的正解是套了一个二分的 \(O(n\log n\log v)\),依旧碾标算(不过貌似有很多人都写的单 \(\log\)?)T3 没什么好说的,T4 确实是网络流,没仔细听也没补。下午讲的是 dp(主要是区间 dp),因为比较闲就听了一下,感觉老师讲得比较清晰,大部分题都比较典但也有我没做过了,就做了一道讲的 cf 题。后面依旧是自己找题做,晚上还有一场 abc 但是考虑到网比较差以及我头有点晕就只报了 unrated,倒序开的题,G 是计算几何就没看,F 的建模感觉比较典就秒了,E 看了一眼感觉是差分约束之类的东西,懒得写了,前面的也没看。然后赛后才知道 E 不能差分约束(最坏是 \(n^2\) 的),可以把带等号的边缩点后直接在 DAG 上 dp。我的图论还是太弱了……

Day 4

上午模拟赛。T1 是数位 dp 板子,T2 推一下式子发现直接算 \(n^2\) 的因数个数就行,T3 是类似汉诺塔的东西,做法也类似,贪心出策略然后递归做就行。前三题大概一共写了 \(1\)h,接下来是 T4。把题目条件的包含所有关键点改成外面没有关键点,就可以先处理出每个点最远能连到的左右两边,似乎可以拿李超线段树维护?但是很复杂,然后发现 \(nm\leq 1.5\times 10^6\),这样就可以直接暴力判+双指针,确定了区间后就考虑固定每个点,扫描线就行,我用的线段树维护。大概花了 \(1.5\)h 写 T4,就过了大样例,然后 AK 了?我本以为是的,就去对拍前面的题了,直到考试结束前 \(30\)min 我造了一组 T4 的极限数据,发现我的代码要跑 \(9\) 秒!原因是 \(m=1\) 时 \(n=1.5\times 10^6\),加上还有本身的 \(4\) 倍常数和线段树的常数,就跑得很慢。然后我感觉扫描线似乎可以不需要线段树直接算?尝试推了一下但是因为时间不够就没推出来,遗憾离场了。

最终 \(100+100+100+80=380\) 分,rk1。中午看了一下题解,发现正解就是带 \(\log\) 的?但是正解的树状数组最慢只跑了 \(1.5\)s,还是我常数太大了……

下午讲的图论,前面的基础部分我没怎么听,而且正好老师提前发了课件,我就自己刷课件上的题了。感觉这一讲的课件还不错,题都比较有意思,也没有那么多典题了。

晚上有 ARC,我就和老师请了假提前回房间打。A 貌似是斜率优化,但是化成函数有两个自变量,不好转化,想了半个小时就先跳了;B 是简单构造,很快就过了;C 是一个状态合并有点麻烦的线段树,推了一会式子又写了很久才过,然后时间就到了。最终排名是三百多,感觉有点区……

Day 5

因为博主今天沉迷打东方夜雀食堂,所以博客先鸽一天。

上午模拟赛。T1 暴搜就可以过,T2 是简单数学题,大概 \(30\)min 过 T1、T2。T3 是计数,先想到了一个实际是错解的做法,写完后发现小样例都过不了,才注意到乘积的期望不能拆开来算,就重新开始想。然后感觉可以对子树连续段 dp,但是又不好合并子树信息?总共大概想了 \(1\)h 还没什么明确的思路,就先打了 \(35\) 分暴力。然后去看 T4,是一个一眼就比较复杂的树上数据结构,尝试想了一会树剖做法,没什么成果后就开始拼暴力,码了 9kb 代码拼了 \(50\)分。此时只剩半个小时了,又想了一会 T3 也没什么思路,遗憾离场了。

最后 \(100+100+35+50=285\) 分,rk4。有人场切了 T3,吓哭了。中午看了一下题解,T3 确实是连续段 dp,容斥+背包转移;T4 是操作分块+虚树,何意味?

下午讲题,但因为题解已经写得很详细就没怎么听。不想做计数题就没补 T3;而 T4 的 std 有 18kb,真的有场切的风险吗?所以也没补。然后讲的是数学专题,学了一点光速幂、Binary gcd 之类的小技巧,然后就自己对着 ppt 做题,题有一些比较典的也有一些有趣的,感觉还不错。

Day 6

上午模拟赛。不想打那么多字了。总之 T1 简单二分+贪心、T2 是数论的构造用扩欧跑一组解就行,然后 T3 貌似是维护凸包之类的东西,T4 没看懂题,都不太可做,就只打了 T3 的 \(15\) 分暴力。

最后 \(100+100+15+0=215\) 分,rk1。这场有 \(5\) 个 \(215\) 分的人和共 \(14\) 个 \(\geq 200\) 分的人,区分度几乎为滚木。

下午讲题,T3 是猫树,只听了一下猫树的大致思路,没仔细听,反正超纲;T4 是树形 dp,也没仔细听,都不是很想补。然后讲的是贪心、二分等朴素技巧的题,听了几道,感觉题还不错,就边听边写。

Day 7

上午模拟赛。T1 是简单计数,推导出循环节后就可以直接算了;T2 感觉直接做并不容易,看了一眼大样例发现极限数据的答案长度只有一千多种,那状态数应该很少,直接拿记忆化搜索建图再在 DAG 上 dp 模拟就行了,前两题一共写了大概 \(1\)h。T3 题面有点复杂,花了一点时间看懂题目后,注意到每个数都只减不加,而且取模操作产生影响后会让一个数至少减半,那总的有效操作就不超过 \(n\log n\),每次暴力找最有可能被影响的数就可以了,代码有点难写,写+调一共花了 \(2\)h左右。剩下的时间不是很多了,加上我们还要提前走赶火车,T4 就只打了朴素暴力。然后就准备返程了。

在去火车站的路上看了一下榜,T4 的暴力貌似写假了,\(100+100+100+0=300\) 分,rk2,和第一名没差多少分。

下午就是坐火车返程了。在火车上打了一会东方夜雀食堂、写了一些水题,还看了一会书。好像听说下午下课后一些同学面基一起去玩了,没能去有点可惜,Ci 大佬准备给我的徽章也没拿到,NOIP 的时候再见面吧。下了火车,这次的旅程就结束了。

总结

这次集训有让我感觉好的地方,也有感觉比较差的地方。最舒服的一点是作息什么的都比较宽松,晚上也不收手机电脑,点外卖、买饮料什么的都很方便,相当于是放了个假;以及模拟赛和讲课中也有一些不错的题,尤其是下午的讲课,感觉老师都是认真备了课的不像梦熊的某些老师梦到什么讲什么。不足主要就是电脑比较卡、网比较差,以及某些场的模拟赛出题和造数据不够用心。总之,能出来交流,认识一些新朋友,对我而言就够了吧,而且从各方面看我都较暑假时有了提升。继续加油吧!

posted @ 2026-09-29 21:15  ShanLiing  阅读(66)  评论(0)    收藏  举报
//雪花飘落效果