T1 在一个n*m的棋盘上,求每一行每一列都至少有一个棋子的总方案数。输出答案对1000000007取模
用f[i][j]表示做到第i行,j列至少有一个棋子。
则枚举上一行k列至少有一个棋子,
f[i][j]=
∑j−1k=1(f[i−1][k]∗2k∗Cj−kn−k)+f[i−1][j]∗(2k−1)
最后输出f[n][m] 即可。
T2 sb题
T3给一个n*m矩阵M,和一个整数k,对于矩阵M的子矩阵M’,定义min(M’)为M’矩阵中元素的最小值。
我们需要找出这样一个子矩阵,该矩阵的面积至少为K,且min(M’)最大化。在min(M’)相同的情况下,面积越大越好。面积的定义为该矩阵的行数*列数。
先二分答案ans,对于大于等于ans的赋为1,否则赋为0,再做一次最大1矩阵即可。