一、题目
二、解法
前置芝士:范德蒙德卷积:
C ( n + m , k ) = ∑ i = 0 k C ( n , i ) C ( m , k − i ) C(n+m,k)=\sum_{i=0}^kC(n,i)C(m,k-i) C(n+m,k)=i=0∑kC(n,i)C(m,k−i)这道题的暴力算式是很好写的,但是优化不动,因为用不到 a − b ≤ 10000 a-b\leq10000 a−b≤10000,从最简单的情况考虑:
部分分:a=b
此时 a , b a,b a,b公平竞争,对于 a a a赢着的情况,一定严格对应一种 a a a输着的情况(把他们的输赢情况反转),那么我们考虑算出他们平局的情况,用所有情况减去除 2 2 2即是答案,平局算式如下:
∑ i = 0 a C ( a , i ) 2 = ∑ i = 0 a C ( a , i ) C ( a , a − i ) = C ( 2 a , a ) \sum_{i=0}^aC(a,i)^2=\sum_{i=0}^aC(a,i)C(a,a-i)=C(2a,a) i=0∑aC(a,i)2=i=0∑aC(a,i)C(a,a−i)=C(2a,a)所以答案是:
2 a + b − C ( 2 a , a ) 2 \frac{2^{a+b}-C(2a,a)}{2} 22a+b−C(2a,a)a>b
有点难,按照部分分的对应法则我们发现有些 a a a赢的情况反转时候还是赢的,我们称这种现象叫不对称,记对称的方案数是 S 1 S_1 S1,不对称的方案数是 S 2 S_2 S2,则有这样的关系:
S 1 + S 2 = 2 a + b , a n s = S 1 2 + S