arc 题目整理
arc192a
注:一个位置被覆盖当且仅当位置 \(i\) 满足题目中的两个条件。
首先想到贪心。不难发现,形如 ARCRAR... 的字符串在 \(n\) 为 \(4\) 的倍数的时候可以覆盖整个字符串。
接下来沿着 \(n\) 模 \(4\) 的余数继续分讨。如果这个余数是 \(1\) 或 \(3\),沿用上面的构造,可以做到只有一个位置无法覆盖,也就是说当 \(a\) 全部为 \(0\) 时无解。
最后是 \(n\) 模 \(4\) 余 \(2\) 的情况。这时候我们会剩下两个位置,接下来考虑找这两个位置的性质。
感性理解的话,我们在这两个位置中只能填类似 ARCRARCR 的字符串,而在这种构造时,这个字符串长度只能是 \(2\) 的倍数,即当这两个位置时 \(i,j(i<j)\) 时,我们需要有 \(j-i-1\) 为偶数。直接判断即可。
arc192b
首先暴力 SG 显然不可取,所以先考虑两人的决策。
如果某个人选了位置 \(i\),且这个位置第一次被选,那么有两种情况:
- 目前的情况先手必胜,则先手会维持这个位置不选。
- 否则,我们可以继续选这个位置,可以证明选完之后同样是先手必败,综合起来就是将 \(a_i\gets a_i-2\)。
第一种情况我们无需考虑,而第二种情况中,我们会一直执行上面的操作,直到 \(a_i<2\)。
也就是说,我们不需要考虑 \(a_i\) 的大小,只需要考虑 \(a_i\) 的奇偶性即可。
这时候不难写出一个 DFS 打表。可以发现打出来的表很有规律,所以我们按照这个规律输出即可。
arc188a
差点不会之前我认为的简单题。
显然,一个子串是合法的当且仅当这个字符串中 A,B,C 的出现次数奇偶性相同。
思路类似 dp of dp。首先考虑判断一个串是否有 \(\ge k\) 个满足要求的子串。可以用前缀和求出。
接下来对于前缀和 DP。由于我们前缀和的大小只有 \(2^3=8\),所以我们可以直接对于这个东西用类似状压的方法。时间复杂度为 \(O(n^8)\),不可接受。
接下来考虑压缩状态。由于我们求的是前缀和做差之后的奇偶性相同,所以不难优化至 \(O(n^{2^3\div 2})=O(n^4)\)。
arc181a
题目中的操作显然是没有什么性质的,所以考虑答案是否有性质。
手玩之后可以发现答案 \(\le 3\),于是简单分讨即可。

浙公网安备 33010602011771号