Codeforces 刷题记录
在此记录 Codeforces 刷过的题.
CF1895D XOR Construction 1900
注意到一旦我们确定了 \(b_0\),那么整个 \(b\) 数组已经被唯一确定了。我们取 \(c_i\) 为 \(a_i\) 的异或前缀和,则 \(b_i=b_0\oplus c_i\)。
现在我们要将 \(b_i\) 全部降到 \(n\) 以下。那么我们可以对 \(c\) 建 trie 即可。
CF1992F. Valuable Cards 1900
考虑贪心,每次选尽量长的一段。现在问题来到如何判断是否应该分段。
首先若 \(a_i\) 不是 \(x\) 的约数,则 \(a_i\) 是没有贡献的,可以省略。
注意到 \(x\le 10^5\),则 \(d(x)\) 最大只有 \(128\)。所以我们可以在执行过程中直接将元素能够构成的约数暴力塞进一个桶里判断即可。
不知道为何用 set
被卡了,改 vector
就过了。
CF1817B. Fish Graph 1900
好水的 1900
。
显然能成为鱼尾巴的那个节点连边条数要大于等于 \(4\)。所以直接对每个结点暴力 dfs 一遍然后找到最小的环即可。