摘要:
题意:\(n\)种食物(\(n\leq5000\))可组成\(2^n\)种串串,共\(2^{2^n}\)种选串串集合方案,求每种食物至少出现2次的方案数并对输入大质数取模。思路:利用容斥原理,设\(f_i\)表示至少\(i\)种食物至多出现1次,答案为\(\sum_{i = 0}^n (-1)^i f_i\)。最初得\(O(n^3)\)的\(\sum_{i = 0}^n (-1)^i \binom{n}{i} 2^{2^{n - i}} \sum_{j = 0}^i \binom{i}{j} \sum_{k = 0}^j {j \brace k} 2^{(n - i)k}\),经推导\(\sum_{j = k}^i {j \brace k} \binom{i}{j} = {i + 1 \brace k + 1}\),优化为\(O(n^2)\)的\(\sum_{i = 0}^n (-1)^i \binom{n}{i} 2^{2^{n - i}} \sum_{k = 0}^i 2^{(n - i)k} {i + 1 \brace k + 1}\),通过快速幂与递推第二类斯特林数求解 。 阅读全文
posted @ 2025-10-08 19:47
wing_heart
阅读(12)
评论(0)
推荐(0)

浙公网安备 33010602011771号