ARC214

AtCoder Regular Contest 214

A (构造、Ad-hoc、*600):

因为要求每条格路权值和均相等,所以任意 \(i_1 + j_1 = i_2 + j_2\) 的位置 \((i_1,j_1),(i_2,j_2)\) 都有 \(a_{i_1,j_1} = a_{i_2,j_2}\)。那么直接根据这个结论构造即可。

时间复杂度 \(\mathcal{O}(n^2)\)。

ac link


B (图论、并查集、构造、*1400):

可以令点 \(1\) 为根并任取原图的一棵生成树,从而 DFS 求出每个点 \(2 \le u \le n\) 的权值 \(a_u\) 与 \(a_1\) 的异或偏移量 \(b_u\) (如果此时出现矛盾已经可以判 -1 了)。接下来我们考虑求出 \(S_0 = \bigoplus\limits_{i=0}^{n} i, S_1 = \bigoplus \limits_{i=1} ^ {n} b_i\)。如果 \(n\) 为偶数,因为 \(a_1\) 在 \(S_1\) 中被异或偶数次所以直接被消掉了,那么最终答案就是 \(S_0 \oplus S_1\)。否则如果 \(n\) 为奇数,因为 \(a_1\) 无法被消掉,又因为我们只知道异或值的偏移量,所以必定有多种取值,那么无解输出 -1。

时间复杂度 \(\mathcal{O}(n + m)\)。

ac link


C (组合数学、动态规划、*2000):

设 \(S = \sum_{i=1}^n P_i\),如果 \(2 \nmid S\) 那么必定无解。否则可以将问题转化为:将每个人的四种选择抽象为四个向量 \((P_i,0),(-P_i,0),(0,P_i),(0,-P_i)\),要求选择结果中它们的和为零向量,即拼成四个向量 \((p,0),(-p,0),(0,q),(0,-q)\)。问一共有多少种可行的 \((p,q)\) 取值。考虑求出 \(v\) 表示选出 \(P\) 的一个子序列,使得该子序列和为 \(\frac{S}{2}\) 的方案数,那么答案为 \(v(v - 2)\)。组合意义就是 \(p + q = \frac{S}{2}\) 的情形下,\(p,q\) 任意分配,同时保证 \(p,q \ne 0\) 并且减去 \(p = q\) 重复计算的部分。\(v\) 可以背包算出。

时间复杂度 \(\mathcal{O}(nS)\)。

ac link


D (组合数学、构造、Ad-hoc、*2100):

考察所有 \(i + j\) 为定值 \(t\) 的位置 \((1,t-1),(2,t-2),\dots,(t-1,1)\),将它们对应的路径集合(即从 \((1,1)\) 到它们的格路集合)所对应的权值集合 \(S_{1,t-1},S_{2,t-2},\dots,S_{t-1,1}\) 列出来。根据题意,对这其中的任意两个集合 \(S_{i_1,j_1},S_{i_2,j_2}\) 都有 \(S_{i_1,j_1} \cap S_{i_2,j_2} = \varnothing\)。那么一个自然的思路就是让它们单调递增,也即 \(S_{i,j}\) 中元素的最大值严格小于 \(S_{i+1,j-1}\) 中元素的最小值。

又因为 \(\binom{24}{12} - 1 = 2704155\) 和 \(6 \times 10^6\) 是同一个量级的,构造限制很紧,所以我们必须思考排列最密的构造方式。

考虑增量构造答案矩阵 \(M\),如果 \(i + j = t - 1\) 这条对角线的构造已经满足条件,那么构造 \(i + j = t\) 这条线上两个相邻位置 \((i,j), (i + 1, j - 1)\) 时,只需要考虑路径上直接前驱恰为 \((i, j - 1)\) 处的路径集合。构造方式显然,恰使 \(M_{i + 1,j - 1}\) 对应的路径最小值比 \(M_{i, j}\) 最大值大 \(1\) 即可。则根据上一条对角线的单调性我们得到 \(M_{i, j} = M_{i - 1, j} + M_{i, j - 1}\) 即为所求。此时为了保证 \((1, 1) \to (x,1)\) 的单调性我们令 \(M_{i, 1} = 2^{i - 2}\ (i \ge 2)\)。

容易发现这样构造的取值范围等价于枚举 \(n\) 个二进制位取出的每一个数值,也即 \(\sum_{i=0}^{n} \binom{n}{i}\),所以这样实际上给每个位置都对应上了 \([0, \binom{24}{12} - 1]\) 内的一个整数。必定不会越界。

时间复杂度 \(\mathcal{O}(n^2)\)。

ac link


posted @ 2026-09-28 00:41  Twistedmind  阅读(2)  评论(0)    收藏  举报