2026.7.29 模拟赛
T1
给定一张 \(n\) 个点 \(m\) 条边的图,你需要将其中的点划分为两个点集,使得两个点集的导出子图中度数为偶数的点的总和尽可能大,并构造方案。
\(1 \le n \le 2000,1 \le m \le \dfrac{n(n-1)}{2}\)。
糖糖题。观察大样例注意到答案 \(=n\),若点 \(i\) 划分到第一个点集记为 \(a_i=0\),否则记为 \(a_i=1\),那么对每个点 \(u\) 有 \(\bigoplus\limits_{(u,v) \in E} (a_v \oplus a_u) = 0\),即 \(\bigoplus\limits_{(u,v) \in E} a_v = a_u(d_u \& 1)\),高斯消元解方程即可,时间复杂度 \(O\left(\dfrac{n^3}{w}\right)\)。
T2
定义 \(f(n,k)\) 为在如下游戏中先手必胜则为 \(1\),否则为 \(0\):
- 有 \(n\) 颗石子,先后手轮流取,先手第一次固定只能取 \(1\) 颗,之后假设上一人取了 \(x\) 颗,则这次可以取 \([1,x+k]\) 颗,取完者获胜。
给定 \(k,l,r\),求 \(\sum\limits_{i=l}^r f(i,k)\)。多测。
\(1 \le T \le 10^4,1 \le k,l,r \le 10^{18}\)。
待补。
T3
给定一棵 \(n\) 个点的树,点有点权,初始为 \(0\),有 \(m\) 次如下修改:
- 给定 \(u,v,k,w\),将 \(u \to v\) 路径上所有满足 \(k | \text{dis}(u,x)\) 的 \(x\) 的点权加上 \(w\);
- 给定 \(u,v,k,w\),将 \(u \to v\) 路径上所有满足 \(k | \text{dis}(u,x)\) 的 \(x\) 的点权变为 \(w\);
- 给定 \(x\),查询 \(x\) 的点权。
\(1 \le n,m \le 2 \times 10^5\)。4s,256MB。
发现 \(k\) 很大时修改的点数不会很多,自然考虑对 \(k\) 进行根号分治,在 \(k>B\) 时暴力跳即可,考虑 \(k \le B\) 怎么做。
我们可以对于每个 \(k\),令 \(u\) 连向 \(u\) 的 \(k\) 级祖先,那么每个修改就变成了两条链上的修改。但是问题是赋值操作比较难处理,于是我们考虑处理出每个点最后一个被赋值的时刻,再加上这个时刻到查询时刻之间的加法操作的值即可。
设 \(n,m\) 同阶,于是问题转为 \(O(n \log n)\) 次区间覆盖与 \(O(n \log n)\) 次区间加,\(O(nB)\) 次查询,使用分块平衡复杂度,设分块块长为 \(S\),复杂度为 \(O(nB+\dfrac{n^2}{B}+nS\log n + \dfrac{n^2 \log n}{S})\),分别取 \(B=\sqrt n,S=\sqrt{\dfrac{n}{\log n}}\) 即可,时间复杂度 \(O(n \sqrt{n \log n})\)。
然后你发现空间开不下,因此你离线所有询问后在最外层枚举 \(k\) 处理所有 \(k\) 为这个值的询问即可令空间降为 \(O(n)\)。

浙公网安备 33010602011771号