ABC 242 F 题解

发布时间 2023-08-11 16:12:35作者: MrcFrst_LRY

晚自习。不想做题了,来写篇题解消遣一下(

原题传送门

题意:挺简洁的,懒得说了。鸽。

刚看到这题的时候没有一点头绪,乱想了状压啥的。但现在看来,其实是因为没有抓住重点。

首先此题有黑白之间的限制,所以大可以考虑其中一种颜色然后再依此确定另一种。这里钦定考虑黑色。然后,相同颜色的棋子无区别,并且行列也是无序的。所以我们其实只关心合法位置的数量,这样想来就显然跟状压没关系了。

因为我们只关心合法位置的数量,所以可以统计黑点占用了多少行、多少列。然后组合计数一下白点的摆放方案就好了。

\(dp_{k,i,j}\) 为摆放 \(k\) 个黑点,占用了 \(i\) 行、\(j\)列的方案数。

转移方程:

\[dp_{k,i,j}=\frac{(dp_{k-1,i-1,j-1}+dp_{k-1,i-1,j}+dp_{k-1,i,j-1})\times i\times j+dp_{k-1,i,j}\times(i\times j-(k-1))}{k} \]

这个转移方程看起来很复杂对吧,其实我告诉你……

它还真有点复杂。

大概就是说,将第 \(k\) 个点放进去,新增一行一列。然后对新增的这一行一列与之前 \(k-1\) 个点占用的行列分讨一下:

\(1.\) 没有重合

\(2.\) 只有行重合

\(3.\) 只有列重合

\(4.\) 行列都重合

来吧,琢磨一下。前三种情况即是上面转移方程的分子的左半部分,\(i\) 行、\(j\) 列会产生 \(i\times j\) 个交点,第 \(k\) 个点可以放在这些交点上,所以方案数乘上 \(i\times j\)

然后第四种情况,第 \(k\) 个点不占用新的行列,也就是说只能放在原来就有的 \(i\)\(j\) 列上,也是有 \(i\times j\) 交点,但是注意一格最多只能放一个点,所以不能和之前放的 \(k-1\) 个点重合,所以减去 \(k-1\)

(未完待续)(我自己今晚回去也还得琢磨一下)