f[i][j]表示恰好有i行j列为黑色g[i][j]表示一个i行j列的矩阵染色满足每一行每一列至少有一个白色格子的方案数f[i][j] 表示恰好有 i 行 j 列为黑色 \\ g[i][j] 表示一个 i 行 j 列的矩阵染色满足每一行每一列至少有一个白色格子的方案数f[i][j]表示恰好有i行j列为黑色g[i][j]表示一个i行j列的矩阵染色满足每一行每一列至少有一个白色格子的方案数
转移:
f[i][j]=(ni)(mj)×g[n−i][m−j] f[i][j] = \binom{n}{i} \binom{m}{j} \times g[n - i][m - j] f[i][j]=(in)(jm)×g[n−i][m−j]
意义:在 n×mn \times mn×m 的矩阵中分别在 nnn 行中选 iii 行和在 mmm 列中选 jjj 列全部染成黑色,然后剩余部分染色不能出现一行黑或一列黑,这时我们可以如下图所示,把选择的行列去掉再拼合起来,剩余部分染色不出现一行黑或一列黑的方案数即拼合后的矩阵不出现一行黑或一列黑。
g[i][j]=∑x=0i∑y=0j(−1)x+y2(i−x)×(j−y)(ix)(jy)g[i][j] = \sum_{x = 0}^{i} \sum_{y = 0}^{j} (-1)^{x + y}2^{(i - x) \times (j - y)}\binom{i}{x} \binom{j}{y}g[i][j]=∑x=0i∑y=0j(−1)x+y2(i−x)×(j−y)(xi)(yj)
意义:
考虑选择 rrr 行,ccc 列全为黑的这一类染色方案受到的贡献。
对于一种具体的方案,容斥中对它的贡献(系数)如下式。
当 [r≠0]or[c≠0][r \neq 0] or [c \neq 0][r=0]or[c=0]
∑p=0r∑q=0c(−1)p+q(rp)(cq)=∑p=0r(rp)∑q=0c(−1)p+q(cq)=∑p=0r(rp)×0=0\begin{aligned} & \ \ \ \ \ \sum_{p = 0}^{r}\sum_{q = 0}^{c}(-1)^{p + q}\binom{r}{p}\binom{c}{q} \\ &= \sum_{p = 0}^{r} \binom{r}{p} \sum_{q = 0}^{c} (-1)^{p + q} \binom{c}{q} \\ &= \sum_{p = 0}^{r}\binom{r}{p} \times 0 \\ &= 0 \end{aligned} p=0∑rq=0∑c(−1)p+q(pr)(qc)=p=0∑r(pr)q=0∑c(−1)p+q(qc)=p=0∑r(pr