HDU 4349 Xiao Ming's Hope
来源:互联网 发布:网龙网络校招 编辑:程序博客网 时间:2024/06/06 05:36
题意:给你一个数 n ,求C(n, 0) 到 C(n, n)中有多少个奇数
分析:判断C(n, i)是不是奇数,相当于求 C(n, i) %2,根据Lucas定理,求C(n ,i) % 2 先将 n 和 i 转化为2进制,分别为(a[k], a[k-1],...,a[1], a[0])2 和 (b[k], b[k-1],...,b[1], b[0])2,所以C(n, i)%2 = C(a[k], b[k]) * C(a[k-1], b[k-1]) * ... * C(a[1], b[1]) * C(a[0], b[0]),因为这里a[i]和b[i]的取值为0或1,所以只有4种情况C(0, 0)、C(0, 1)、 C(1, 0)、C(1, 1) 这里只有C(0 ,1)的值0,所以只有当每个C(a[i], b[i])的值都为1的时候 C(n,i) % 2 = 1; 所以当a[i]=0时,b[i]只能为0, 当a[i]=1时,b[i]可以是0,也可以是1,所以只要计算一下n的二进制中有多少个1,答案就出来了
# include <stdio.h> int main() { int n,cnt; while(scanf("%d",&n)!=EOF) { for(cnt=0;n;n>>=1) if(n&1) cnt++; printf("%d\n",1<<cnt); } return 0; }
0 0
- HDU 4349--Xiao Ming's Hope
- hdu 4349 Xiao Ming's Hope
- hdu(4349) Xiao Ming's Hope
- HDU 4349 Xiao Ming's Hope
- hdu 4349 Xiao Ming's Hope
- hdu 4349 Xiao Ming's Hope
- HDU 4349 Xiao Ming's Hope
- Xiao Ming's Hope HDU
- Xiao Ming's Hope
- Xiao Ming's Hope
- HDU 4349 Xiao Ming's Hope 组合数学
- hdu 4349 Xiao Ming's Hope(Lucas定理)
- HDU 4349 Xiao Ming's Hope(数学题,Lucas定理)
- HDU 4349-Xiao Ming's Hope(Lucas定理的推广)
- hdu 4349 Xiao Ming's Hope,lucas定理
- HDU 4349 Xiao Ming's Hope (Lucas定理的应用)
- HDU 4349 Xiao Ming's Hope 组合数学
- [HDU 4349] Xiao Ming's Hope (lucas定理)
- 深度学习之图像修复
- java---堆、栈、常量池
- WinArm Windows下Arm编译器(gnuarm winarm Yagato)
- 《ACM程序设计》书中题目--problem h
- 欢迎使用CSDN-markdown编辑器
- HDU 4349 Xiao Ming's Hope
- 计算机科学和编程导论-week1-编程基础
- leetcode解题之303# Range Sum Query
- 1009:说反话
- 使用微信公众号接口一键获取全部关注用户的信息(openid,nickname,city,country,groupid,targetlist)
- 2016蓝桥杯C/C++省赛 寒假作业(深搜DFS)
- JavaScript学习-操作符
- 【九度OJ】题目1197:奇偶校验 解题报告
- L2-015. 互评成绩