POJ-Round Numbers-组合数学
来源:互联网 发布:premiere软件免费下载 编辑:程序博客网 时间:2024/04/30 10:59
题意;
给你两个数n,m,让你看里面有多少个round数,(包括m,不包括n)
round 数是对应的二进制数中0比1的个数多
思路:
1.0 杨辉三角
2.0 分阶层去算(不同的数位)1,10,100,1000,这样是4个阶层,先算出p(二进制的数的长度)的所有的,然后再算和p相同长度,但是比该数小的round数
CODE
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>#include<algorithm>using namespace std;int Cn[33][33];int a[1100],b[1100];void YH()///构建杨辉三角{ int i,j; for(i=0; i<=32; ++i) { Cn[i][0]=Cn[i][i]=1; } for(i=2; i<=32; ++i) { for(j=1; j<i; ++j) { Cn[i][j]=Cn[i-1][j-1]+Cn[i-1][j]; } }}int round(int p){ int i, j; int ans = 0; for(i = 2; i < p; i++)///p位数之前的那些 { for(j =(i+1)/2; j < i; j++) { ans+=Cn[i-1][j]; } } int k=0;///统计0的个数 int ki = (p+1)/2;///至少要这些个0 for(i = p-2; i >= 0; i--)///和p位数在同一个阶层 { if(a[i] == 1) { int mi = ki-k-1;///后面至少需要这些0,才是round数 for(; mi <= i; mi++) ans+=Cn[i][mi]; } else k++; } return ans;}int main(){ YH(); int n, m; while(~scanf("%d%d",&n,&m)) { scanf("%d%d",&n,&m); int p = 0, q = 0; m++;///要m那个数,不要n while(n)///转化为二进制 { a[p++] = n%2; n = n/2; } int ans = 0, num = 0; ans = round(p);///n之前的round数 while(m) { a[q++] = m%2; m = m/2; } num = round(q);///包括m在内的round数 printf("%d\n",num-ans); } return 0;}
0 0
- POJ-Round Numbers-组合数学
- poj 3252 Round Numbers 组合数学
- POJ 3252 Round Numbers(组合数学)
- poj 3252 Round Numbers 组合数学
- poj 3252 Round Numbers (组合数学)
- POJ 3252 Round Numbers(组合数学)
- POJ 3252 Round Numbers 组合数学
- [poj 3252] Round Numbers 组合数学
- poj 3252Round Numbers(组合数学)
- POJ Round Numbers 3252 (组合数学)
- POJ 3252 Round Numbers 组合数学
- POJ 3552Round Numbers(组合数学)
- 组合数学 POJ 3252 Round Numbers
- POJ 3252 Round Numbers (组合数学)
- Round Numbers(组合数学)
- poj 3252 Round Numbers 数位DP or 组合数学
- POJ 题目3252 Round Numbers(组合数学)
- POJ-3252-Round Numbers-组合数学-递推
- Spring配置quartz调度任务
- Linux Ubuntu server安装Tomcat-7.0.63
- 分页模型的分析
- C++ Builder XE8 安卓开发之indy10的线程控件如何正确调用VCL控件
- weblogic.management.ManagementException: The domain edit lock is owned by another session in ...
- POJ-Round Numbers-组合数学
- 193
- VC++ 常见调试错误:fatal error LNK1561: entry point must be defined
- ProtocolBuf协议说明
- 怎么写好一份数据分析报告
- 54321
- realloc 用法
- tomcat配置集群负载均衡
- LWIP-工业以太网交换机 SNMP功能与SStool功能完成笔记