专栏文章

比赛:ARC205 Div.2

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minzckzi
此快照首次捕获于
2025/12/02 10:49
3 个月前
此快照最后确认于
2025/12/02 10:49
3 个月前
查看原文

ARC205 Div.2

A - 2x2 Erasing

若每次操作都选择左上角的进行反转,容易看出存在一种操作顺序,使得每次操作只会减少一个四宫格数量,因此只需二维前缀和,统计有多少个四宫格即可。

B - Triangle Toggle

无论怎样操作,每个点的黑边度数 dd 的奇偶性不会改变。
因此每个点最终黑边度数最大是 (n1)(n1d)mod2(n-1)-(n-1-d)\bmod 2,即,答案的上界为 12(i=1n(n1)(n1di)mod2)\frac{1}{2}\left(\sum\limits_{i=1}^{n} (n-1)-(n-1-d_i)\bmod 2\right)
如果一个点的白边度数 2\ge 2,那么这个点一定可以进行一次操作,因此这个答案的上界是可以取到的。

C - No Collision Moves

无解情况:
  1. 两个不同方向的线段相交。
  2. 有线段包含关系。
判完无解之后直接贪心操作即可。

D - Non-Ancestor Matching

自底向上贪心。
维护子树内空置点数,以及匹配数。
按顺序合并子树的时候,
  1. 之前子树的空置点和当前子树空置点匹配。
  2. 之前空置点和当前已匹配的两个点匹配。
  3. 之前已匹配的两个点和当前空置点匹配。
容易证明这是最优的。因为最终树内要么只剩一个空置点,这时候已经达到答案上界了;要么剩下的空置点两两都存在祖先关系,并且除了最底下的空置点可能存在非祖先关系节点外,其他空置点都和树上所有点存在祖先关系。

E - Subset Product Problem

考虑暴力,就是相当于做 nn 遍高维前缀和,复杂度 O(nV)O(nV)
对于这个动态高维前缀和,发现我们加入一个数的复杂度为 O(V)O(V),查询的复杂度为 O(1)O(1),非常不平衡。
于是为了平衡复杂度,考虑根号分治。维护 f(x,y)f(x,y) 表示序列中所有值为 210x+k2^{10}x+k 的数的乘积,其中 kyk\subseteq y,即 kORy=yk\operatorname{OR}y=y
这样每次加入一个数复杂度为 O(V)O(\sqrt{V}),查询复杂度为 OVO\sqrt{V}。总复杂度 O(nV)O(n\sqrt{V})

评论

0 条评论,欢迎与作者交流。

正在加载评论...