FJOI 2026 翻盘和被翻盘记

· · 生活·游记

翻盘说的是,day 1 T1 人均假做法题写了真做法。

被翻盘说的是,day 2 T1 人均题没过。

细细道来。

Day \boldsymbol {- \infty}

noip 超烫发挥,sale 做了一整场,斩获 152。

需要翻 120 分才能进队。这我哪会。

Day 忘了

学文化课,然后下午自习和晚自习都去机房,听课或打模拟赛。

在机房和 狂风之息 听字符串,被枚举答案题击败了,感觉能且仅能独立想出没脑子数据结构题。

模拟赛打得参差不齐,最高可以到 175,最低可以 0+0+0。

这几天都睡得很晚。

Day -2

感冒了。

我们有更多的考前生病环节。

Day -1

我们的 ForgetOIDuck 回来了 \o/ \o/ \o/

回家睡觉。

晚上听 Z-301 讲课,实在吓人。太困难。

Day 0

早上听 Z-301 讲课,实在吓人,太困难。

中午群里在投篮,

篮球不会说谎,T1 交互 T2 构造。

中午就去了动车站,在包上挂了一只超可爱的小马。

拍了合照。照片上我不认识的人越来越多了。“他们和我已经不是同时代的人了。”

车上写了 Asian soul,可惜被卡常了。只是总体不难写。

晚上去品鉴福州美食,在同一个地方拍了第 4 张照片。四张照片的拍摄时间分别是 2025/02/28(FJOI 2025),2025/06/30(2025 省队集训),2025/11/29(NOIP 2025),2026/03/06(FJOI 2026)。现在看来真的感慨万千。我的 OI 生涯就这样一年一年地过去了。

晚上随机游走了一下,然后回酒店了。在酒店把 Asian soul 又卡了卡,分治时区间长度 <50 就暴力做,终于过得去 QOJ 了,但是洛谷还是过不去,摆了。

接着打了一些板子。先去复习了一下怎么求行列式,然后打了一些网络流和费用流,还有 FWT 等的板子。又尝试写了一下 FWT。然后又试图写了一下 SAM 并试图使用 SAM 通过 AC 自动机模板题。结果很不幸的是 SAM 要开两倍空间,结果就被卡空间了。

晚上 11:15 左右就去睡觉了。睡觉的时候发现有若隐若现的灯光,发现是电脑的电源灯光。所以用完电脑一定要记得把电脑关机,否则可能接受神秘光污染。

Day 1

早起,洗漱完就去餐厅吃自助餐。

搬了个椅子来和 ForgetOIDuck,ri,houran,cell 坐一桌。品鉴了非常坚硬的炒面和非常咸的炒饭。最后没怎么吃饱。

吃饭的时候背诵了一个 manacher 的板子。随后步行到了考场。

考试开始了。先看了一眼文件,发现第一题看起来 n \le 5000,第二题第三题 n 都只有几百,感觉很不对劲啊。然后开 pdf,T1 看起来是树上数树,T2 神秘构造,T3 神秘构造,还是第一题看起来可做一点。

一开始想说,期望不是有线性性吗。那我直接记录每个节点所在链的期望长度。然后就准备直接开写,写着写着发现假完了,你的期望放在分母的时候哪还有什么线性性呢。

于是准备想一些和确定链长有关的做法。

比较直接的想法是,直接记录 f_{u, i}u 所在链长为 i 的概率。然后我们枚举和哪个儿子连重边,其他儿子就是轻边,那么转移的分母就是对其他儿子做一个卷积状物,最后组合的时候目测是一个 \frac{i}{i+j} 的系数。

感觉对完了,就准备开始写。结果写了两次才写对,这时候应该是 O(n^3) 的。我当时其实没有去算复杂度,只知道是一个正确性对的多项式时间做法。

在 10:00 的时候终于写对了这个高次做法。

去了一次厕所再回来考虑优化。发现瓶颈有两部分。一部分是求出那个卷积之后要组合答案,要枚举其他子树链长之和与当前子树链长。但是仔细分析一下会发现,合并一次的复杂度其实是 O(sz_v (sz_u - sz_v)),然后又发现这个东西的意义就是每对点只会在 LCA 上贡献两次!所以这部分复杂度其实是 O(n^2) 的。

然后想想那个卷积怎么优化。我总不能每个儿子都去做一次卷积吧。发现这个东西就是一个标准的退背包,我在百度之星也被退背包击杀过,但我还没去补。那我只能发明一个了。

于是我就写出了卷积的式子,发现发明这个东西其实也不是很难。就是,把单项的系数写出来,会发现系数就是 f_{v, i}。我们找到最小的 x 使得 f_{v, x} 非零。那么卷积式子里,除了 g'_{i - x} f_{v, x} 以外得所有项都是已知的,可以直接递推!甚至除掉得那个逆元也只要算一次。那么两个多项式得项数一个是 sz_v,一个是 sz_u - sz_v,这样这部分复杂度也是 O(sz_v(sz_u - sz_v))

那就对完了。

又调了很久,发现卷积写得很没道理,调了 10000 万年发现我重复利用 g 没有清空,成小丑了。

在 11:30 左右写对了。然后发现跑的非常慢,recollector7.in 要跑 2.5 秒,很不牛。但是我们在转移的时候把无用得转移判掉就可以了。这样就很快,1 秒就过了。

然后打暴力。打了 T2 的暴力和 A 性质,斩获 30 分,非常不牛。

最后打了 T3 暴力,发现我要写一个动态维护 deque 哈希值的东西,怒写 2kb 写完了。

比赛结束了,100 + 30 + 12。呜呜呜。

中午去 zky 餐厅吃饭,非常好吃,也有可能是过度饥饿了。

下午回酒店睡觉,发现睡不着。然后起来打板子,复习了 Matrix-tree 和 LGV 引理等东西。

然后学了虚树更简单的建法,原来我之前都不会这个两遍排序的建法。

然后试图使用 钥匙 去调试我虚树的模板,发现竟然快了不少。然后改了一个 O(n \log n) - O(1) LCA 发现曹过去了,一点开讨论有一个警示后人,发现居然是 tobie 学长 /ll /ll /ll

晚上出去吃饭的时候,碰到 DW 和红太阳了,\o/ \o/ \o/

同学们在健身房健身。有人在跑步,有人在使用器械健身,还有人在打健身游戏。噔噔噔噔噔噔噔噔噔噔噔噔噔噔噔

随机游走发现了 乃龙派对。很糖。

随机去闽江边上走了走,然后回酒店搓板子。写了圆方树等板子,发现一遍写不对。

接着随机查看了一些 abc 的 g 题,发现科技题是一个不会。于是试图阅读我的 4 \times 10^4 字的做题笔记,发现不久就睡着了。

Day 2

省流:没过 T1。打得不好,从简。

早上起来得比较晚。早餐有好吃的烧麦,和绍兴一中的一模一样 /ll

不久就去了考场。

进了考场,打开文件,立刻看到,题型,交互型。

五雷轰顶。

一看是查询 mex 还原排列,很不幸地没有注意到可以用 n 次询问手搓交互库。我使用了一个很难调的神秘做法。

首先考虑求出以某个数字为 mex 的极小区间。容易发现的是,如果这些区间存在,那么一定有相互包含的关系。

然后假设我们得到了这些区间,那么相邻两个要么只差左端点,要么只差右端点,那么中间一段排序之后贪心填,就一定是对的。

那么怎么得到这些区间呢?可以双指针。不幸的是,双指针每次到达一个点会产生 1 的代价,一次有效的移动也会产生 1 的代价,这样是 2n 的。

试了试,在随机数据下表现良好,n = 30000 的时候要大约 30050 次询问。

然后又尝试拍了 10^8n = 50 的数据,发现最大点 m = 99,报废了。试图优化,发现这个双指针好像优化不到。

得分下界 = 62

接着看 T2,发现三元环等价于每次干掉一个欧拉回路。其实原因是想到了我之前做过的一个模拟赛题也是每次 flip 一个欧拉回路。

然后就写写写,出现的错误包括但不限于,把无向边变成两个有向边跑欧拉回路,输出方案的时候错了。

然后火大了,调了 114 小时,还是未能调出来。

13:00 的时候,我意识到我要写 T3 了。幸好有加时 15min,要不然就写不完 T3 8 分了。

于是我 T2 交了一大坨过不了大样例的东西上去。

期望得分 62 + 0 + 8

怎么大家都过了 T1??????????????????

去购买了一个乃龙,耗米 29r。

福州南站,回家。

Day 3

学文化课。

ForgetOIDuck 回来了。

houran 回来了。

STUDENT0 回来了。

/ll

下午来机房默写 T1 发现能过。

qoj 过了。

ydxy 过了。熨斗可以在卡掉错解得情况下高速放过正解,拜谢了。

我的 D 类没有了,哭哭哭。

能过 D1T1,何尝不是一种进步呢?

但好像也没什么好遗憾的。我还有一年,我相信一年之后我会以一个不同的,更加自信的姿态,在这里献上我的最后一舞。

我会继续努力。

就算没进队,又会怎样呢?我还有很多路可以走。

能会合的。

只有到了某个关键的时刻之后,你才会发现,“人生有梦,各自精彩”,其实并不是一句戏谑的嘲讽,不是一碗尴尬的鸡汤,更不是一声无奈的感叹,而是一句真真切切的真理。因为人生就是这样。每个人都有只属于自己的、独一无二的旅程。因此,我们只需要享受当下、享受 OI、享受比赛!

所以,我亲爱的朋友,趁还有机会,高傲地再飞一次吧!愿我们抵达路的末端时,都不会后悔。