联合省选 2025 游记
前
前面忘了。
NOIP 拿了满分,给福建增加了一个省队名额,这样进省队就不算无德了吧?
虽然没啥动力了,但靠着仅剩的一点好胜心作崇,考前几天还是稍微加训了一下 OI,不想死得太难看。
也想过了如果同学是省队线下第一名就放弃名额,不过现在来看大概是不会出现这种事了!
Day1
进场先看 A,第一步是考虑如何 check 一个数是否可行。发现覆盖他的一定选到上界,而左右两部分至少有一个取到下界,于是直接离散化算一遍就是对的了,很快就写完了。
然后看 B,第一反应就是我之前搬给正睿的用 bitset 记询问的那个题,再看到 TL 和 ML,马上笃定了我的想法。
观察到总共只有最多 \(O(n+q)\) 个连续时刻的 \((a_i,b_i)\),而一个连续段可以作为解的集合的所有限制都可以用 bitset 刻画,于是直接按 \(b_i\) 从大到小枚举连续段更新就行了。
这个做法不需要任何的数据结构,但写完后我发现 2GB 空间开不下,于是改成了分块 bitset 卡空间。就连这最后一步也与我之前搬的题不谋而合,很难蚌得住。
前两个题加起来只花了我一个小时,我感觉赢麻了啊!
然后想 C,想了半天一般图的判定条件发现不好做。于是转而考虑森林的部分分。
首先有一个类似树形 dp 的构造方式,把构造改成判定就可以满足字典序最小的限制了,于是在 2h 左右的时候拿到了这部分的分。
发现一般图好像和森林的差别不算太大,只需要额外考虑一个点双的限制即可。对于这个点双他会存在一个唯一的哈密顿回路,我们只需要求出它整个题就做完了!
很高兴啊!感觉自己马上就要 AK 省选 Day1 了!那么,怎么求哈密顿回路呢?
思考了一会之后发现事情没我想的这么简单,求这玩意似乎并不好做……枚举了 dp,耳分解,网络流等做法,但还是不会求。最后只能拼上指数级暴力遗憾离场。
期望得分 \(100+100+52=252\)。
密码破完后测了一下,没有挂分。接着惊闻学弟 AK 了,太强大了!
Day2
进场先想了想 B,感觉一眼就要 DAG 容斥,连续两年 D2T2 放同一个算法是不是有点溜大了呢?感觉 \(64\) 应该不大难,但也不简单,于是先放一放回去看 A。
先想了想 \(a_i\le b_i<a_{i+1}\) 怎么做,成功犯蠢了,以为按 \(t_i\) 排序是错的,想了一会搞了个时光倒流的做法。
然后这是可以拓展的,需要使用单侧递归线段树维护当前状态所需的步数。写完已经快一个半小时了,由于写挂的代码在所有询问中可以只 WA 一个点,还是加了个对拍。拍着拍着忽然发现:我这代码怎么等价于按 \(t_i\) 排序取?
然后做 B,优先想性质 C,发现这等价于缩点完后只有一个零入度的 scc。于是这不弱于主旋律那题,想了一下发现最后计数可以再套一层容斥,就可以 \(O(3^n)\) 做完性质 C。
然后想怎么拓展,胡了一个在 kruskal 的过程维护所有可行的起点,合并连通块时暴力枚举集合然后跑性质 C 的做法。但是我精神萎靡,算不明白复杂度,而且感觉写起来太魔怔了,就没有写。不过赛后听说好像和正解差不多?但我估计我写了可能也写不出来。
接着拼了 B 前两档的暴力,留给 C 的时间只有半个小时出头了。先写了个暴搜,然后发现我可以通过状压刻画所有状态,但考虑到最后还需要去重,空间无论如何都是开不下的,就没写这个做法。感觉 AB 性质很可做,但是没时间了!
最后期望得分是 \(100+64+8=172\),挺烂的一个成绩,但是居然似乎是福建 Day2 标准分?福建怎么如此路边?!
后
学弟应该要当队长了,这是好事。
\(424\) 的分数虽说谈不上满意吧,但也算对得起我占据的省队名额了。
先说这么多吧,剩下的出分后补。

浙公网安备 33010602011771号