CF1896F

题目大意:

有一个长度为 \(2n\)\(01\) 序列 \(a\),你可以对他进行一下操作(不超过10步)。
输出一个长度为 \(2n\) 的括号匹配字符串 \(s\),假设每个左括号 \(i\) 与右括号 \(p_{i}\) 匹配,那么将 \(a\)\(i \sim p_{i}\) 翻转。
问能否将 \(a\) 变成全 \(0\)
\(n \le 2 \times 10^5\)

解题思路:

首先如果 1 的个数为奇数或者 \(a_{1} \ne a_{2n}\),显然是不可能有解的。

由于我们发现 \(1^1=0\),而这个题你可能会调整好了一些状态并被后续影响,所以我们希望他能类似只影响单点的操作。
\((( \dots ))\) 正好满足我们的需求。

但是这样只能让两两相邻的相同,考虑接下来怎么做。

因为一个点的异或次数之和奇偶性有关,所以我们可以让所有为 \(00\) 的相邻位置填 \(()\)\(11\)\(((\)\())\)
那么这个题 3 步之内就做完了

posted @ 2025-10-25 20:43  positive_deviation  阅读(5)  评论(0)    收藏  举报