CF1404D
CF1404D
这是一道交互题
给定 \(2n\) 个数 \(1,2\sim 2n\),A 和 B 进行交互,如下规则:
- A 需要将元素分成 \(n\) 组 \(\mathbf{pair}\)
- B 从每组 \(\mathbf{pair}\) 中选择一个元素,如果权值和是 \(2n\) 的倍数那么 B 胜,否则 A 胜。
你需要选择 A/B 中的一者扮演角色,并取得胜利。
\(n\le 5\times 10^5\)
Solution
反正我不会,构造什么的最难了。
- \(n\) 为偶数
我们选先手。
此时 \(\sum_{i=1}^{n} i=\frac{n(n+1)}{2}\equiv \frac{n}{2}\pmod{n}\)
所以这样构造,每个二元组均为 \((i,i+n)\),不难发现最后模 \(2n\) 意义下为 \(\frac{n}{2}\)
- \(n\) 为奇数
我们选后手,对于输入的每组 \(\mathbf{pair}\) 我们当作一条边连接 \(a_i,b_i\),然后我们连接 \((i,i+n)\)
由于每个点的度数均为 \(2\),所以这个图由若干个环构成。
现在我们相邻两个点只能选一个点,于是分别处理一下两种可能的选法。
最后我们可以得到的权值和为 \(\sum_{i=1}^{n}i+k\times n\),在 \(\mod 2n\) 意义下即 \(n+k\times n\),将使得 \(k\) 为奇数的情况选出即可。
同时不难注意到,由于 \(n\) 为奇数,所以 \(n\) 的数量和为奇数,所以总存在一种这样的方案。
更加简单的处理是直接黑白染色,如果全选黑不行那就直接全白。