2 条题解
-
1
思路显然,代码显然,然后没了注意到
题目要求对 的棋盘染色,使得每个长宽都为偶数的矩形中红色和蓝色数量相同。
显然
一个长宽均为偶数的矩形可以被划分为若干个 的小矩形。如果每个 的子矩形都满足红蓝各半(即 2 红 2 蓝),那么任意偶数长宽的矩形也必然满足条件。 反之,如果存在某个 不满足,则条件不成立。 因此,原条件等价于:棋盘中任意 的子矩形恰好包含 2 个红色和 2 个蓝色。
数学推导
设 表示格子 的颜色。 子矩形红蓝各半 $\iff a_{i,j} + a_{i,j+1} + a_{i+1,j} + a_{i+1,j+1} = 2$。 这等价于两个条件:
- 异或和为 0:$a_{i,j} \oplus a_{i,j+1} \oplus a_{i+1,j} \oplus a_{i+1,j+1} = 0$
- 不全相同:不能全为 0 或全为 1。
由条件 1 可得 $a_{i,j} \oplus a_{i,j+1} = a_{i+1,j} \oplus a_{i+1,j+1}$,即行的差分与行号无关。 设 ,则 可以表示为:
其中 ,()。
代入条件 2,对于任意 子矩形:
- 若 ,则四个值为 。和为 2 。
- 若 ,则四个值为 。和恒为 2。
结论: 合法棋盘必须满足以下两个条件之一(或同时满足):
- 集合 A: 严格交替(即 对所有 成立)。此时 可任意。
- 集合 B: 严格交替(即 对所有 成立)。此时 可任意。
根据容斥原理,合法方案数 。
注意等价性: 和 (即所有 取反)会产生完全相同的棋盘 。因此在计算 和 时,我们只计算 和 的情况,最后结果自然去重。
信息
- ID
- 2800
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 27
- 已通过
- 5
- 上传者