2.13 それは命の证 ——ARC122~124

看上去没有新的赞助歌曲,沿用 Blessing。

ARC122

ARC122D Xor Game

考虑从高位到低位考虑。如果最高位 0 数量与 1 数量都为奇数,那么最高位一定是 1,但是后手一定可以选择一对最小的数,使得其后面几位 xor 值最小。如果都是偶数,那么就按最高位分成两个互不相干的游戏。总复杂度 \(O(nw)\)

ARC122E Increasing LCMs

首先倒序考虑,每次挑一个会让 lcm 变小的数扔掉。可以发现如果有解那么这样一定能构造出来。然后考虑如何判断。由于 \((\operatorname{lcm},\gcd)\)\((\max,\min)\) 类似,\(\gcd(x,\operatorname{lcm}(a_i))=\operatorname{lcm}(\gcd(x,a_i))\),所以按后者判就行了。

哦对,问号题不做。所以不放日志了。

ARC123

ARC123D Inc, Dec, Decomposition

考虑先贪心地去构造一组解,即每次如果 \(a_i\) 增大那么就增大 \(b\),否则减小 \(c\)。然后我们希望找到一个 \(x\),使得 \(b\) 加上 \(x\)\(c\) 减去 \(x\) 后,所得答案最小。容易发现每个数对 \(x\) 的贡献的影响是一个绝对值一次函数。于是我们把所有拐点列出来,排个序找到中位数作为 \(x\) 即可。

ARC123E Training

\(a\) 大的作为 \(x\)\(a\) 相同 \(b\) 大)考虑找到界 \(L,M,R\),使得 \([L,M]\) 中差为 \(1\)\(0\)\([M+1,R]\) 中差为 \(0\)\(-1\)。于是我们只需要求出若干区间的 \(a+\lfloor\frac{n}{b}\rfloor\) 的和即可。这个是容易的。但怎么找界呢?

实际上。这种取整问题找界,直接把取整丢掉即可。取整丢掉后是完全单调的,所以可以直接二分。

ARC123F Insert Addition

首先需要考虑到这个形式很像 stern brocot tree。于是我们可以在 stern brocot tree 上二分,每次需要求出一个子树内满足 \(ax+by\le n\) 的节点个数,其中 \(a,b\) 为边界。由于这题与 sbtree 的性质,子树内应该包含所有 \(\gcd(x,y)=1\)\((x,y)\)。于是我们莫反,整除分块套一个类欧,可以 \(O(\sqrt n\log n)\) 求解一次。然后由于深度为 \(O(n)\),但发生方向变化(即之前一步往左,后一步往右)的次数与 gcd 同复杂度(\(O(\log n)\)),那么我们就可以直接往一个方向倍增,找到往该方向能走的最长距离即可。找到第 \(l\) 个后,求 \(l,r\) 的只需要求一些子树的中序遍历即可。总复杂度 \(O(\sqrt n\log^3n+n)\)

ARC124

ARC124D Yet Another Sorting Problem

首先观察到如果一个置换环上有两种颜色的那么一定可以 \(len-1\) 步还原。于是我们剩下若干单色置换环。最优的贪心方案,应该是对于两个不同色的置换环,将其合并,即可以用 \(len_1+len_2\) 同时合并两个置换环。而对于无法匹配的剩下的,就只能 \(len+1\) 步还原了。

ARC124E Pancakes

我们先考虑令 \(c_i\) 表示 \(i\)\(i+1\) 的球的数量,我们找到第一个 \(c_i=0\) 的位置,在这个位置断环为链。考虑题目中要求的是 \(\prod (a_i-c_i+c_{i-1})\),考虑乘法的意义,即对于每个 \(i\),选 \((a_i-c_i)\) 或者 \(c_{i-1}\),然后把所有选择都乘起来。考虑 DP:\(f_{i,0/1}\) 表示前 \(i\) 个数,第 \(i+1\) 个数是否选择 \(c_{i}\)(如果选择那么就在 \(i\) 处把 \(i+1\) 的贡献算上)。这个 DP 很容易,而且可以直接矩阵维护。于是我们维护后缀矩阵乘积以及前缀矩阵乘积即可。

ARC124F Chance Meeting

考虑容斥。由于相同时间在相同位置的一些点一定处于某一行的一些列上。于是枚举这个点。拆一拆组合数可以发现处在哪一行没有关系,只是会多乘上一个 \(P=\sum\binom{m-1}{i-1}^2\) 的系数而已。于是变成一个一维问题。令 \(f_i\) 表示长 \(i\) 的一维问题,并且钦定 \(i\) 是重合的点的容斥系数和。那么答案就是 \(P \sum_i f_i f_{n+1-i}\)。有 DP:\(f_i=\binom{m+2i-3}{2i-2}\binom{2i-2}{i-1}+\sum_j -f_j\binom{2i}{i}\)。于是令前面那坨东西的生成函数为 \(G\),我们有 \(F=G(\sqrt{1-4z})\),于是有 \(F^2=(1-4z)G^2\)。由于我们只需要求 \([z^{n+1}]G^2\)\([z^n]G^2\),所以总复杂度 \(O(n)\)

posted @ 2024-03-26 08:28  LarsWerner  阅读(12)  评论(0编辑  收藏  举报