POJ 3252 Round Numbers
解题思路:
1. d[i][j]表示需i位二进制表示且1的个数不大于j(首位为1)的数的总和
2. 对数a,假设其二进制需要i位表示
a)求不大于a round Number总和 Line 6~8
b)如果j位为1,假设目前为止总共已出现k个1,求解位数小于j位且1的个数不大于i/2-k的数总和 Line 9~13
2 using namespace std;
3 unsigned int i,j,k,t,ans,s,l,m,n,d[32][32],temp[32];
4 inline int cal(int a)
5 {
6 for(t=s=1,ans=i=0;t<=a;t*=2,i++)
7 ans+=d[i][i/2];
8 if(i>1)ans++;
9 for(l=i/2,j=i-1,t/=4,s=1;j>0&&s<l;j--,t/=2)
10 if(a&t){
11 for(k=1;k<j;k++)ans+=(l-s>k?d[k][k]:d[k][l-s]);
12 ans++,s++;
13 }
14 return ans;
15 }
16 int main()
17 {
18 for (i=1;i<32;i++)
19 {
20 for(temp[i-1]=j=1;j<=i;j++)
21 d[i][j]+=temp[j-1],temp[j-1]+=d[i][j-1];
22 for(j=1;j<32;j++)d[i][j]+=d[i][j-1];
23 }
24 scanf("%d %d",&m,&n);
25 printf("%d\n", cal(n)-cal(m-1));
26 return 0;
27 }
转载于:https://www.cnblogs.com/ltang/archive/2010/12/29/1920853.html
POJ 3252 Round Numbers相关推荐
- poj 3252 Round Numbers(数学)
链接:http://poj.org/problem?id=3252 题意:一个数写成二进制,0不少于1就是round number,求给定区间内round number的个数. 分析:显然第一步转化为 ...
- POJ - 3252 Round Numbers(数位dp)
题目链接:点击查看 题目大意:规定一个数如果二进制中0的个数大于等于1的个数,则这个数称为"整数",问闭区间a,b中有多少个整数 题目分析:数位dp,dp[pos][c0][c1] ...
- pku 3252 Round Numbers 组合数学 找规律+排列组合
http://poj.org/problem?id=3252 看了discuss里面的解题报告才明白的,这个解题报告太强大了:http://poj.org/showmessage?message_id ...
- Round Numbers POJ - 3252(数位dp+判断前导零)
题意 求二进制表示中0的个数大于1的数的个数. 题目 The cows, as you know, have no fingers or thumbs and thus are unable to p ...
- 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)...
链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- Round Numbers
题意/Description: 正如你所知,奶牛们没有手指以至于不能玩"石头剪刀布"来任意地决定例如谁先挤奶的顺序.她们甚至也不能通过仍硬币的方式. 所以她们通过&q ...
- BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数(数位DP+恶心细节)
BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 Time Limit: 5 Sec Memory Limit: 64 MB Description 正如你所知 ...
- bzoj 1662: [Usaco2006 Nov]Round Numbers 圆环数(枚举)
1662: [Usaco2006 Nov]Round Numbers 圆环数 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 413 Solved: 2 ...
- 1662: [Usaco2006 Nov]Round Numbers 圆环数 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 337 Solved:
1662: [Usaco2006 Nov]Round Numbers 圆环数 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 337 Solved: 1 ...
最新文章
- 微型计算机的什么接口主要作为打印机接口,微型计算机及其接口技术试题及答案(2006年10月)...
- 一个通用的任务管理模型-golang
- linux启动keepalived服务,keepalived的原理及安装应用
- mysql的length函数和char_length中文字符长度计算函数
- oracle rac redo log,RAC共享online redo log和archived log的官方说明
- mysql完整性约束命名_第5章--MySQL索引与完整性约束.ppt
- 5、lvs使用进阶(01)
- Win 下面配置 memcache
- 为Eclipse安装ADT插件
- 关闭cidaemon进程的方法
- 360插件化踩坑记录(二),RePlugin安装、启动插件无反应
- 爬虫基本概念(新手必看)
- state=08S01,code=0
- Google浏览器简体中文版下载
- PO系列之 PO中使用webService
- MID-TERM EXAMINATION 1
- 应用 Serverless 化,让业务开发心无旁骛
- 《Java标准教程》pdf 附下载链接
- Thinkphp6 对接google谷歌第三方登录接口
- tomcat 严重: Could not contact localhost:80. Tomcat may not be running.
热门文章
- C++安全方向(二):2.3 base64编码原理讲解
- python字符的大小比较_python中字符串怎么比较大小
- utf8转gb2312 c语言,UTF-8, Unicode, GB2312格式串转换之C语言版
- python pytest mark
- javascript window.document
- Exchange Server 2016 独立部署/共存部署 (三)—— 安装Exchange程序
- 基于域名或URL路径进行转发
- Linux学习总结(78)—— 常见开源协议讲解
- Docker学习总结(40)——Docker常见应用场景再总结
- Docker系列(二):Docker安装