传送门
问有多少 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(容斥+第二类斯特林数)
最新推荐文章于 2023-01-29 21:09:08 发布
探讨了如何解决一个矩阵计数问题,其中要求n * m的矩阵内每个数在[1, C]范围内,并且任何两行和两列都不能完全相同。通过容斥原理和第二类斯特林数来解决这个问题,给出了解题思路和关键的递推公式,以及相关代码实现。"
79680969,5584199,Python日志记录:输出到文件与控制台,"['Python开发', '日志管理', '调试技巧', '测试方法']

&spm=1001.2101.3001.5002&articleId=97523436&d=1&t=3&u=da9a856244eb4750bf6a711a8a83c148)
593

被折叠的 条评论
为什么被折叠?



