zoukankan      html  css  js  c++  java
  • 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的个数了。

  • 相关阅读:
    重构drf后的环境变量配置
    分离的前后台交互
    虚拟环境的搭建
    Python
    Python
    Python
    Python操作MongoDb数据库
    Python操作SQLite/MySQL/LMDB
    数据库-如何创建SQL Server身份验证用户
    Python
  • 原文地址:https://www.cnblogs.com/macinchang/p/4700835.html
Copyright © 2011-2022 走看看