杨氏矩阵又叫杨氏图表,它是这样一个矩阵,满足条件:
(1)如果格子(i,j)没有元素,则它右边和上边的相邻格子也一定没有元素。
(2)如果格子(i,j)有元素a[i][j],则它右边和上边的相邻格子要么没有元素,要么有元素且比a[i][j]大。
1 ~ n所组成杨氏矩阵的个数可以通过下面的递推式得到:
如图就是n=3时的杨氏矩阵。
勾子定理
题意
将 11 到 NMNM 填入一个 N×MN×M 的矩阵中,保证右边的数大于左边,下面的数大于上面,求满足条件矩阵的个数模以 1e9+71e9+7。
思路
事实上有一个更一般的叫作杨氏矩阵的东西。它满足左边的数大于右边,上面的数大于下面,但它不一定是一个完整的矩阵,如下就是一个杨氏矩阵:
而计算它的方案数又有一个叫钩子定理的东西。
定义一个杨氏矩阵为 λλ ,则填满这个矩阵的方案数 dλdλ为:
dλ=n!∏hλ(i,j)dλ=n!∏hλ(i,j)
其中 hλ(i,j)hλ(i,j) 表示 (i,j)(i,j) 在矩阵 λλ 中的钩子数,其中钩子数 (i,j)=(i,j)= 右边格点个数 ++ 下面格点个数 +1+1,下面是一个杨氏矩阵中的钩子数表:
可以暂时理解为方案数是全排列除以每个格点的钩子数。