【POJ3252】 Round Numbers
来源:互联网 发布:柯洁评论黑嘉嘉 知乎 编辑:程序博客网 时间:2024/05/29 15:08
Problem
https://cn.vjudge.net/problem/20836/origin
Soultion
这道题目让我知道了为什么模板里要有lead记录前导0,一开始没记录偏大。
CODE
/* * @key word:digit DP * @tesed on:POJ3252 16ms * @Author: lhq * @Date: 2017-08-15 21:18:55 * @Last Modified by: lhq * @Last Modified time: 2017-08-15 21:18:55 */#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define ll long longint dp[32][32][32],a[32];int dfs(int len,int num0,int num1,bool lead,bool limit){ if (len==0) return num0>=num1?1:0; if (!limit && dp[len][num0][num1]!=-1) return dp[len][num0][num1]; int up=limit?a[len]:1; int ans=0,p=lead?0:1; ans+=dfs(len-1,num0+p,num1,lead,limit && up==0); if (up==1) ans+=dfs(len-1,num0,num1+1,false,limit && up==1); if (!limit) dp[len][num0][num1]=ans; return ans;}int solve(int x){ int len=0; while (x) { a[++len]=x&1; x>>=1; } return dfs(len,0,0,true,true);}int main(){ memset(dp,-1,sizeof(dp)); int n,m; while (scanf("%d%d",&n,&m)!=EOF) printf("%d\n",solve(m)-solve(n-1)); return 0;}
阅读全文
0 0
- POJ3252 Round Numbers
- POJ3252 Round Numbers
- poj3252 Round Numbers
- poj3252 Round Numbers
- poj3252--Round Numbers
- poj3252 Round Numbers
- POJ3252 Round Numbers
- poj3252 Round Numbers
- POJ3252 Round Numbers
- POJ3252-Round Numbers
- poj3252 Round Numbers
- poj3252[Round Numbers]
- 【POJ3252】 Round Numbers
- POJ3252-Round Numbers
- POJ3252 Round Numbers
- POJ3252 Round Numbers 数位DP
- poj3252.Round Numbers,组合数
- POJ3252---Round Numbers(数位dp)
- MyBatis的foreach语句详解
- 2017多校6 1003 Inversion
- 排序之冒泡排序
- Spring Boot启动过程源码分析
- Ruby操作MongoDB数据库(进阶十二)--GridFS
- 【POJ3252】 Round Numbers
- Accurate Single Stage Detector Using Recurrent Rolling Convolution
- UVA-10881 Piotr's Ants
- 微信开发——3、微信接入(javaweb)
- SQL查询效率:100w数据查询只需要1秒钟
- [P1349]广义斐波那契数列
- 一起写atom插件(1)——写个简单的插件
- 1062: 最大公约数
- Ubuntu 14.04 coturn 安装 与 配置