Luogu3726 [AH2017/HNOI2017]抛硬币

Luogu3726 [AH2017/HNOI2017]抛硬币

范德蒙德卷积

这玩意挺鸡肋的,因为你自己也能推出来,我是在做这道题时听说它的。

[sum_{i=0}^{k}{n choose i}{ m choose k-i}={n+m choose k} ]

直接考虑组合意义证明即可。

解析

还是讲讲这道题怎么做吧。先考虑(a=b)的情况。你会发现对于一种局面,将它所有结果取反后,输赢结果亦会取反,那么(A)获胜的情况便与(B)获胜的情况一一对应,所以情况数为(frac{2^{a+b}-sum_{i=0}^{a}{a choose i}^2}{2}=frac{2^{a+b}-{2a choose a}}{2}),就是上面那个式子的应用。现在看一看(a!=b)的情况,我们只要将取反后(A)赢的情况仍然与(A)赢的情况对应的数量加上去再除以2就行了,假设(A)抛出(x)个正面,(B)抛出(y)个正面,那么有:

[x gt y ]

[a-x gt b-y ]

解之得:(1 leq x-y leq a-b-1),那么上述方案数即为:

(f(i)=sum_{i=0}^{b}{b choose i}sum_{j=1}^{a-b-1}{a choose i+j})
(=sum_{j=1}^{a-b-1}sum_{i=0}^{b}{a choose i+j}{b choose b-i})
(=sum_{j=1}^{a-b-1}{a+b choose b+j}=sum_{i=b+1}^{a-1}{a+b choose j})

所以答案为(frac{2^{a+b}-{a+b choose b}+f(i)}{2}),代码就咕咕咕了。

原文地址:https://www.cnblogs.com/pkh68/p/10581100.html