鄙人最不欣赏的类型的题(
来考虑一个正常人考虑不到的二元生成函数 F(x,y)=M∏i=1[pi1−(xy)ai+11−xy+(1−pi)1−xai+11−x]
那么答案即为 ∑k≥n[xNyk]F(x,y)
考虑对于 i,j,k 计算出 xidyjd(1−xy)M−k(1−x)k
在 F(x,y) 展开式中的系数,然后对于每个这样的项分别提取需要的系数。
那么问题变成对于若干组 A,B,C,D 计算 ∑k≥D[xCyk]1(1−xy)A(1−x)B
联想到一般的形如 1(1−x)A 的生成函数的系数,考虑将其作为隔板处理。
直接枚举 i 表示 i 为第一个在 D 之后的隔板,有答案等于 A∑i=1(D+i−1i)(m−i+c−dm−i)
简单地 O(A) 递推出组合数,直接计算即可。
复杂度 O(N2M2d2)。
代码:
1 |
|