2026.8.26 模拟赛
https://oj.gxyzh.com/d/hzoj/contest/6a8c465551f50c2bea275fd1
和绵阳中学等中学联考的模拟赛
| T1 | T2 | T3 | T4 | |
|---|---|---|---|---|
| 实际得分 | 80 | 100 | 20 | 35 |
| 期望得分 | 80 | 100 | 20 | 40 |
| 能力得分 | 100 | 100 | 40~60 | 40~60 |
T1 是简单树上背包,T2 是插头 DP 模版,T3 是神秘字符串 DP,T4 是平面图神秘性质应用.
球队管理
场上拼了 80 分.
对每个节点为根跑一遍树上背包,设计三种节点状态:
0. 未选择.
- 选择,但联通块没有关键点.
- 选择,联通块有关键点.
直接背包即可,相除得到概率.
第 k 个齐次字符串
算是一道比较好的题.
我们发现,如果从前向后处理,我们只需要关心后 \(n-1\) 个字符的状态,这启示我们使用状压处理.
考虑对于 本质相同 的后缀(最小表示法相同),其向后转移的后缀本质必然相同.
我们需要知道每种 本质相同 的后缀有多少种情况,
因此我们可以设计如下 DP 状态:
\(f_{i,s}\) 表示第 \(i\) 位,后 \(n\) 位最小表示法的状态为 \(s\).
有如下转移,设状态 \(s\) 中有 \(m\) 个等价类:
- 选取在 \(s\) 中的等价类,各有一种选取方法;
- 选取新的等价类,有 \(26-m\) 中选取方法(注意不能让等价类个数大于 \(d\)).
但事实上这样并不好统计,我们需要从大向小选择,通过知道后面的情况个数进行选择.
但是 DP 也是从大向小,因此我们考虑将 DP 进行反向处理,这样就能得出后面的情况个数.
考虑上面的 DP 本质上是一个有限状态自动机,从这个角度理解就会容易很多.
每个点是一个状态,每条边是一种转移,一条路径代表一条字符串.
像类似于常见字符串自动机一样统计即可.
下面分析复杂度:
我们对于每一个状态,虽然有 \(n\) 位,考虑本质上只用了 \(n-1\) 位,剩下一位其实是转移.
对于长度为 \(n-1\) 的最小表示法个数,不难发现上界就是贝尔数.
因此理论状态有 \(LB_{n-1}n\) 个,通过搜索发现实际上不到 \(10^6\) 个.
因此时间复杂度为 \(O(LB_{n-1}n^2+|\Sigma|Ln)\),空间复杂度为 \(O(LB_{n-1}n)\).
盛大无人机表演
给出的图是一个平面图.
考虑直接进行处理,记录每条边的最初删除时间,剩下的问题就是 [NOIP 2013 提高组] 货车运输.
现在考虑如何处理每条边的删除时间.
首先,我们发现处理三维的距离并不优美,考虑进行转化:
对于两个点 \((x_0,y_0,z_0),(x_1,y_1,z_1)\),之间的距离上限为 \(l\).
等价于:
注意到坐标为整数,因此可以向下取整:
因此我们只需要保证高度差小于等于一个固定的常数,记作新的 \(l\).
考虑将绝对值化开:
维护这两个等式即可.
发现我们还没有应用平面图的性质,现在考虑使用.
平面图有如下性质:
- 平面图删去一个点之后还是平面图(废话).
- 平面图的边至多有 \(3n-6\) 条.
考虑第二条性质,我们不难得到一个推论:平面图中必存在一个度数小于等于 \(5\) 的点.
因此我们可以对平面图的边进行定向操作,保证每条边出度至多为 \(5\):
- 每次选择一个度数小于等于 \(5\) 的点.
- 删去这个点,将所有相邻的边定为出边.
- 重复执行上述操作.
可以使用队列/栈维护,时间复杂度为 \(O(n+m)\).
下面考虑每次修改时如何维护:
-
对于出边,可以每次暴力查询节点,直接检验.
-
对于入边,可以维护两个有序集合:
low用于维护 \(z_0-l\).high用于维护 \(z_0+l\).
通过不等号对有序集合进行修改.
综合上面两种算法,可以得到均摊为 \(O((n+m+k)\log n)\) 的算法.
处理出时间后,剩下的就是 Kruskal 重构树的经典应用了.
不要写 二分+可持久化并查集.
原题
榜单

前几名都是银牌爷,还是很有差距的.
当然,这场 T2 是板子,T4 数据太水了,有些难评.

浙公网安备 33010602011771号