ARC AB 板刷

很好人类智慧题,比这几天做的紫黑都要难。

进度:171~183。

183

A:根据对称性逐步确定最高位,分类讨论奇偶。

B:正(限制太少无法决策)难则反。考虑操作 B,去匹配 A。原来的操作等价于,对于 \(B_i=B_j\)\(|i-j|\le k\),将其中一个 \(B\) 设置为任意整数。

发现这个东西很有操作,能否任意排列 B?考虑 \(?xy\to yxy \to yxx\to yyx\to ?yx\),这样就交换了任意两个数。我们知道如果可以任意交换那么所有排列都是可以生成的。

注意到上面第一步转化时要求 \(k\ge 2\)。只需要判断有没有合法的相等 \(B\) 即可,当然还要有所有 A 里面的数。

\(k=1\) 时,直接暴力判断。只要去重之后 B 是 A 子序列即可。

C:一眼区间 dp,枚举最大值在哪里,转移系数类似笛卡尔树区间 dp,可达性也要区间 dp 计算。

182

A:按照 \(i-1\to i\) 推不出什么性质,数据范围提醒我们:对于一次操作,枚举所有操作,判断这个操作的选择有多少。

B:题目转化成二进制就是取每个数二进制前 \(len-k\) 前缀。贪心地,希望每一位一半是 0 一半是 1,这个可以分治下去。注意这个前缀要去掉前导零,所以直接给第一位全部 1。

181

A:如果有 \(a_i=i\) 并且前后值域符合就做完了,否则我们考虑做操作使得 \(a_1=1\) 或者 \(a_n=n\),然后再操作一次就完了。

B:显然可以解方程得出 \(|T|\),又显然 \(T\)\(S\) 是包含关系。手完一下发现 \(|T|\) 要是 \(S\) 最小循环节的倍数。

180

A:考虑 1 和 2 操作都是删除前缀,或者理解为左/右不变。你考虑:XXXXXXXABABABABABXXXXXXXXXXXXXX。发现操作过后那一坨相同的 X 都是不会变的,只可能变中间交替的 AB,这启示我们分段考虑。然后乘起来。

对于一个交替的段,像这样:..A(BABABA)B..,现在我们只需要对中间的部分手玩即可。省略了。

B:题解有交换 \(i\)\(P_i\) 的做法,没看懂,但是可以注意一下。

posted @ 2024-09-06 09:19  LCat90  阅读(5)  评论(0编辑  收藏  举报