放 棋 子 放棋子 放棋子
题目描述见链接 .
正 解 部 分 \color{red}{正解部分} 正解部分
每个棋子都可以占据一行和一列, 且同一行同一列不能出现相同的棋子, 考虑 一个一个棋子放 不如 考虑 一种一种棋子放 ,
设 F [ i , j , k ] F[i, j, k] F[i,j,k] 表示前 k k k 种棋子占据了 i i i 行 j j j 列的方案数, g [ i , j , k ] g[i, j, k] g[i,j,k] 表示 k k k 个棋子占据 i i i 行 j j j 列的 方案数,
则 F [ i , j , k ] = ∑ l = 0 i − 1 ∑ r = 0 j − 1 F [ l , r , k − 1 ] ( N − l i − l ) ( M − r j − r ) g [ i − l , j − r , a [ k ] ] ( i − l ) ( j − r ) ≤ a [ k ] F[i, j, k] = \sum\limits_{l=0}^{i-1} \sum\limits_{r=0}^{j-1} F[l, r, k-1] \begin{pmatrix} N-l \\ i-l \end{pmatrix} \begin{pmatrix} M-r \\ j-r \end{pmatrix} g[i-l, j-r, a[k]]\ \ \ \ \ \ \ \ \ \ (i-l)(j-r) \le a[k] F[i,j,k]=