HDU 4349 Xiao Ming's Hope 组合数学

题意:给你n,问在C(n,1),C(n,2)...C(n,n)中有多少个奇数。

比赛的时候打表看出规律,这里给一个数学上的说明。

Lucas定理:A,B非负整数,p是质数,A,B化为p进制分别为a[n]a[n-1]...a[0],b[n]b[n-1]...b[0].

      那么组合数C(A,B)与C(a[n],b[n])*...*C(a[0],b[0])模p同余。

证明就不说了,我也不会,给个链接   Lucas定理证明

那再来看这道题就简单了,p=2,C(0,1)=0,C(1,0) = C(1,1) = 1,所以只要n的二进制中出现了0,在从0到n枚举的数的这个对应位上就可能是1或者0,是1的话呢结果就成了偶数了,所以只能填0,而n的二进制中是1的情况,不论枚举数的对应位是1还是0,只要保证了前一个条件,结果都可以保证是奇数,所以个数就是n的二进制数中1的个数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值