1 条题解
-
0
题解
思路推导
把“不染色”看成一种不要求出现的特殊状态。若暂时忽略行列限制,长度为 的格子序列中,要求全部 种真实颜色均出现的方案数只与 有关,记为 。
做法
设 表示处理当前数量的格子后,恰好已经出现 种真实颜色的方案数。加入一个格子时,它可以不染色或使用已经出现的颜色,共有 种选择;也可以首次使用一种尚未出现的颜色,共有 种来源。因此倒序更新
逐个处理至 个格子,就能得到每个 。
然后对空行与空列做容斥。若保留 行、 列用于放置染色格,则内部共有 个格子,要求全部颜色出现的方案数为 。答案为
$$\sum_{i=0}^{n}\sum_{j=0}^{m}(-1)^{n-i+m-j}\binom ni\binom mj g_{ij}.$$极小棋盘可以完整枚举每个格子的 种状态。只有一种颜色时,也可直接对空行、空列容斥,作为独立的结构层级。
正确性证明
颜色状态动态规划中,第一项枚举“不染色或使用已出现颜色”,第二项枚举“当前格首次引入一种新颜色”,两类互斥且覆盖全部选择,所以 精确统计了全部真实颜色均出现的长度为 的状态序列。
在外层容斥中,选择被保留的行列后,只允许交叉区域的格子染色;符号恰好对应删去的空行与空列数。容斥原理保证每个至少覆盖一格的行、每列至少覆盖一格的合法方案贡献一次,而含空行或空列的方案贡献为零。内部又由 保证每种颜色出现,因此求和恰好是题目要求的方案数。
复杂度分析
预处理颜色状态的时间复杂度为 ,外层容斥为 ,总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1055
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者