Loading

[JSOI2011] 分特产

思路

按照一般逻辑来说这题得自己做了, \(\rm{trick}\) 都见完了

转化题意,
对于 \(m\) 组物品, 每组物品有 \(c_i\) 个, 考虑分配给 \(n\) 个人保证每个人至少有一个物品, 求分配方案的总数

首先简单的是不管每个人至少有一个物品, 直接随机分配, 显然的, 总共的可能性是 \(\displaystyle n^{\sum_{i = 1}^{m} c_i}\)

这个可以容斥那些人没有物品, 但是你发现不能够状压 (即使能够状压, 也不好做, 因为没法求出「恰好」的方案数) , 那怎么办?

肯定要换实现方式了 (绝对不是因为我看到 \(\rm{lhs}\) 使用了二项式反演)

你考虑令 \(f(k)\) 表示「至少」有 \(k\) 个人没有物品, \(g(k)\) 表示「恰好」有 \(k\) 个人没有物品

套路的(还是写一遍)

\[f(k) = \sum_{i = k}^{n} {i \choose k} g(i) \iff g(k) = \sum_{i = k}^{n} (-1)^{i - k} {i \choose k} f(i) \]

考虑计算 \(f\)

容易发现

\[f(k) = {n \choose k}\displaystyle (n - k)^{\sum_{i = 1}^{m} c_i} \]

结束了


完蛋了跟 \(\rm{TJ}\) 柿子不一样怎么办, 红温了

仔细一想发现上面的柿子 「確有問題」, 显然的会出现一些重复的情况计算, 因为对于单组物品本质不同

所以我们改一下, 用插板法处理

最终的答案为 (常用插板法)

\[f(k) = {n\choose k}\prod_{j=1}^m{c_j+n-k-1\choose n-k-1} \]

总结

善于转化问题

常见套路, 「钦定」意义下, 通过「至少」和「恰好」的转化来简化问题, \(f\) 可以用各种方法计算得来

慢慢的理解了这一类问题, 可以做一些简单题了!

相同本质的问题, 一定要考虑清楚组合数学怎么算是对的

posted @ 2024-12-31 19:22  Yorg  阅读(14)  评论(0)    收藏  举报