联合省选 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\) 的分数虽说谈不上满意吧,但也算对得起我占据的省队名额了。

先说这么多吧,剩下的出分后补。

posted @ 2025-03-03 19:47  Nesraychan  阅读(319)  评论(1)    收藏  举报