[2025-2] czz 好题初中
posted on 2025-02-12 07:26:01 | under | source
T1 最短路径
题意:给一张 \(n\) 点有向图,任意两点有边。\(q\) 次询问 \(s,t,p\),问废掉 \(p\) 后 \(s\to t\) 最短路。\(n\le 5e2,q\le 5e5\)。
题解:floyd 每次加一个新点 \(O(n^2)\) 即可维护。考虑用分治减少重复运算,具体的,令分治树上 \([L,R]\) 表示不考虑区间的点的最短路信息,计算一点时只需继承父亲并加入兄弟信息即可。\(O(n^3\log n)\)。
T2 Dominating Point
题意:给一张竞赛图,求出三个点,每个点满足可以不超过 \(2\) 步到达其它 \(n-1\) 个点。\(n\le 5e3\)。
题解:注意到出度最大的点一定满足条件,反证即可。记它为 \(u\),\(S\) 为 \(u\) 一步到达的点、\(S^{\prime}\) 反之。\(S^{\prime}\) 为空无解,其中的点可以到达 \(S,u\)。于是只考虑其内部即可。记 \(v\) 为度数最大,如法炮制找最后一个点即可。假如不存在,意味着 \(v\) 可以一步到达 \(S^\prime\)。\(S^\prime\) 的其他点显然不行(到不了 \(v\))。考虑 \(S\),分为 \(S_1,S_2\) 分别满足可以、不可以一步到达 \(v\)。\(S_1\) 为空无解。\(S_1\) 的点可以一步到达 \(v\) 从而到达 \(u,S^\prime,S_2\),只考虑内部找最大点即可。\(O(n^2)\)。
T3 Tree equation
题意:定义树的运算:\(A+B\) 为将两树的根连接,\(AB\) 为将 \(A\) 的每个点换成 \(B\)(根为原来点)。已知 \(A,B,C\),求解 \(AX+BY=C\)。\(|A|,|B|,|C|\le 2e6\)。
题解:先考虑 \(AX=C\),只需找到一个大小为 \(|X|\) 的子树即可。现在有了加法不好判定,但是可以发现 \(C\) 最大儿子子树一定是 \(A\) 最大儿子子树乘 \(X\) 或 \(B\) 的乘 \(Y\)。不失一般性地假设是 \(A\) 的,即可找出 \(X\),然后做树哈希去掉 \(AX\),最后解 \(BY=C\) 即可。可以 \(O(n)\)。感觉细节有点多?
T4 崎岖(AT 原题 >=k)
题意:一个序列合法 \(x\) 当且仅当 \(\forall x_i+x_{i+1}\ge k\),给定可重序列 \(a_1\dots a_n\),求将其重排后合法序列数量。\(n\le 2e5\)。
题解:唯一做出的题 qwq。考虑经典套路:将以 \(\frac k2\) 为标准,将数分为 \(< \frac k2\) 和 \(\ge \frac k2\) 的数(\(01\)),并按 \(|a_i-\frac k2|\) 排序。假如是小到大排(相同优先 \(0\)),那么一个 \(0\) 无论插哪都非法,\(1\) 插哪都合法,做排列 dp 容易多项式科技优化至 \(O(n\log ^2n)\)。但是假如大到小排,那么必须保证当前序列合法(因为后面插入无法改变非法)。所以维护当前合法位置数量 \(s\),每次插入 \(0\) 就消耗一个将它们绑定,于是就容易 \(O(n)\) 了。
T5 挑战大模型(洛谷同名)
题意:给两个矩阵 \(A,B\),对每个 \(k\) 求出面积最大的一个子矩阵,满足将 \(A\) 中该矩阵左平移 \(k\) 步(原先空位随意填)后和 \(B\) 相同。
题解:考虑刻画限制:包含所有 \(A,B\) 不同的位置、以及每个位置平移后与 \(B\) 相同(标记为 \(1\))。发现求极大 \(1\) 矩阵即可。
T6 一棵树(洛谷同名)
题意:给一棵树染色,染恰好 \(k\) 个黑色点,定义一种方案的权值为分别将每条边断掉后两边黑点数量之差的和,求最大权值。
题解:容易树形 dp,记 \(f_{u,i}\) 为 \(u\) 子树内恰好染 \(i\) 个黑色的权值,转移 \(f_{u,i}+f_{v,j}+|2k-j|\),闵可夫斯基和即可优化为 \(O(n\log n)\)。

浙公网安备 33010602011771号