传送门
问有多少 n ∗ m 的矩阵,每个数都在 [1, C] 内,任两行不完全相同,任
两列不完全相同,n, m, C ≤ 4000。
思路:
设 f i f_i fi表示 i i i行 m m m列的答案。
再假设当前有 n n n行。
考虑先满足任意两列都不一样的限制的方案数,显然应该为 C c n m C_{c^n}^m Ccnm中,然后扣掉有一些行相同的情况。
我们把相同的行放到一个集合里面,假设最后有 k k k个集合,那么把每个集合看成一行,就变成了一个子问题。
于是 f n = C c n m − ∑ i = 1 n − 1 S n i f i f_n=C_{c^n}^m-\sum_{i=1}^{n-1}S_{n}^if_i fn=C
TCO14 CountTables(容斥+第二类斯特林数)
最新推荐文章于 2020-04-29 10:52:49 发布