【LOJ6609】无意识的石子堆(生成函数)(组合数学)

传送门

  • 题目比较神,但如果听了大神 l d x ldx ldx 讲了就可以很快做出来
  • 考虑列作为点,行作为一条边,那么最后的图就是若干个环及若干条链的图,点带标号边带标号
    考虑枚举链的个数 i i i,那么点数 i + n i+n i+n,方案数 ( m i + n ) \binom{m}{i+n} (i+nm),给每个图分配边,方案数为
    n ! ∏ ( s z i ! ) ∏ ( s z i − 1 ) ! \frac{n!}{\prod (sz_i!)\prod (sz_i-1)!} (szi!)(szi1)!n! s z sz sz 为点或环的方案数,把这个写到 E G F EGF EGF 里面,构造出链和环的生成函数(同时包涵点边的信息)

F ( x ) = ∑ i ≥ 2 x i 2 = x 2 2 ( 1 − x ) G ( x ) = ∑ i ≥ 2 x i 2 ∗ i a n s = n ! ∑ i = 0 n ( m i + n ) [ x i + n ] ( i + n ) ! exp ⁡ ( G ( x ) ) ∗ F ( x ) i i ! = n ! m n ‾ ∑ i = 0 n ( m − n ) i ‾ [ x n ] exp ⁡ ( G ( x ) ) ∗ ( F ( x ) / x ) i i ! F(x)=\sum_{i\ge 2} \frac{x^i}{2}=\frac{x^2}{2(1-x)}\\ G(x)=\sum_{i\ge 2}\frac{x^i}{2*i}\\ ans=n!\sum_{i=0}^n\binom{m}{i+n}[x^{i+n}](i+n)!\exp (G(x))*\frac{F(x)^i}{i!}\\=n!m^{\underline n}\sum_{i=0}^n (m-n)^{\underline i}[x^n]\exp(G(x))*\frac{(F(x)/x)^i}{i!} F(x)=i22xi=2(1x)x2G(x)=i22ixians=n!i=0n(i+nm)[xi+n](i+n)!exp(G(x))i!F(x)i=n!mni=0n(mn)i[xn]exp(G(x))i!(F(x)/x)i
可以先求出
[ x t ] ∑ i ( F ( x ) / x ) i i ! = [ x t ] ∑ i x 2 ( 1 − x ) i ! = ∑ i ( t − 1 i − 1 ) 1 2 i i ! [x^t]\sum_i\frac{(F(x)/x)^i}{i!}=[x^t]\sum_i\frac{x}{2(1-x)i!}=\sum_i\binom{t-1}{i-1}\frac{1}{2^ii!} [xt]ii!(F(x)/x)i=[xt]i2(1x)i!x=i(i1t1)2ii!1
可以直接卷积,前面的 exp ⁡ \exp exp 考虑用 d p dp dp 转移,和 b z o j 5481 bzoj5481 bzoj5481 一样,可以 O ( n ) O(n) O(n) 维护前缀和做
于是只用一次多项式乘法就做完了 C o d e Code Code

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FSYo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值