[AH2017/HNOI2017]抛硬币

本文介绍了如何解决AH2017/HNOI2017竞赛中的抛硬币问题,重点讲解了使用范德蒙德卷积优化计算的策略。通过对称性和部分分的方法,探讨了计算对称方案数S1和不对称方案数S2的思路,最终通过扩展卢卡斯定理和中国剩余定理求解,同时解决了模数为非质数的问题。
摘要由CSDN通过智能技术生成

一、题目

点此看题

二、解法

前置芝士:范德蒙德卷积:
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=0kC(n,i)C(m,ki)这道题的暴力算式是很好写的,但是优化不动,因为用不到 a − b ≤ 10000 a-b\leq10000 ab10000,从最简单的情况考虑:

部分分: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=0aC(a,i)2=i=0aC(a,i)C(a,ai)=C(2a,a)所以答案是:
2 a + b − C ( 2 a , a ) 2 \frac{2^{a+b}-C(2a,a)}{2} 22a+bC(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值