HDU 2089 不要62(数位DP)
不要62
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。
不吉利的数字为所有含有4或62的号码。例如:
62315 73418 88914
都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。
你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
分析:把状态分为3种,1)不包含不吉利数且末位不为6。2)不包含不吉利数且末位为6。3)包含不吉利数。 状态转移见代码注释。
代码如下:
# include<stdio.h>
# include<string.h>
int dp[][],N;
int digit[];
void init(){
memset(dp,,sizeof(dp));
dp[][] = ;
for(int i =; i<=; i++){
dp[i][] = dp[i-][]* - dp[i-][];
//不含不吉利的数的个数:去掉①含有4的②含有62的
dp[i][] = dp[i-][];
//不含有不吉利的数的个数:以2开头的数的个数
dp[i][] = dp[i-][]* + dp[i-][] + dp[i-][];
//含有不吉利的数的个数:①含有62的个数②以4开头的个数
}
} int DP(int num){
int len,ans,temp,flag;
memset(digit,,sizeof(digit));
temp = num;
flag = len = ans =;
while(num){
digit[++len] = num%;
num /= ;
}
for(int i=len; i>; i--){
ans += dp[i-][]*digit[i]; //不吉利的数
if(flag)
ans += dp[i-][]*digit[i]; //前面已经出现了不吉利的数
else{
if(digit[i]>) ans += dp[i-][];
if(digit[i] >) ans += dp[i-][];
if(digit[i+]== && digit[i]>) ans += dp[i][];
}
if(digit[i+]== && digit[i]== || digit[i]==)
flag = ;
}
return temp - ans;
}
int main(){
init();
int n,m;
while(scanf("%d%d",&n,&m),n&&m){
printf("%d\n",DP(m+)-DP(n));
}
return ;
}
另外本体还可以暴搜:
# include<stdio.h>
# include<string.h>
int dp[];
bool f(int i){
while(i){
if(i%==||i%==)
return ;
i/=;
}
return ;
}
int main(){
int n,m;
int ans,count;
memset(dp,,sizeof(dp));
for(int i=; i<; i++)
if(f(i))
dp[i]=;
while(scanf("%d%d",&n,&m),n&&m){
ans=;
for(int i=n; i<=m; i++)
if(dp[i]==)
ans++;
printf("%d\n",ans);
}
return ;
}
HDU 2089 不要62(数位DP)的更多相关文章
- Hdu 2089 不要62 (数位dp入门题目)
题目链接: Hdu 2089 不要62 题目描述: 给一个区间 [L, R] ,问区间内不含有4和62的数字有多少个? 解题思路: 以前也做过这个题目,但是空间复杂度是n.如果数据范围太大就GG了.今 ...
- HDU 2089 - 不要62 - [数位DP][入门题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- [hdu 2089] 不要62 数位dp|dfs 入门
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求[n, m]区间内不含4和62的数字个数. 这题有两种思路,直接数位dp和dfs 数位d ...
- HDU 2089 不要62 数位DP模板题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 参考博客:https://www.cnblogs.com/HDUjackyan/p/914215 ...
- HDU 2089 不要62(数位DP·记忆化搜索)
题意 中文 最基础的数位DP 这题好像也能够直接暴力来做 令dp[i][j]表示以 j 开头的 i 位数有多少个满足条件 那么非常easy有状态转移方程 dp[i][j] = sum{ dp[ ...
- hdu 2089 不要62 数位dp
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2089 不要62 (数位dp基础题)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu 2089不要62 (数位dp)
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...
- hud 2089 不要62 (数位dp)
#include<stdio.h> #include<string.h> #include<math.h> #define max 10 ]; int number ...
- HDOJ题目2089 不要62(数位DP)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
随机推荐
- shell脚本应用(4)--常用命令
正则表达式 符号 用法 句号. 匹配任何单个字符 [shell用的是?] 符号^ 跟行首匹配 符号$ 跟行尾匹配 星号* 匹配0或若干个紧靠在星号前的字符[shell是0或若干跟字符] []结构 匹 ...
- [转]2-SAT问题及其算法
转自:http://www.cppblog.com/MatoNo1/archive/2011/07/13/150766.html [2-SAT问题]现有一个由N个布尔值组成的序列A,给出一些限制关系, ...
- java统计程序运行的时间
耗时统计 第一种是以毫秒为单位计算的.long startTime = System.currentTimeMillis(); //获取开始时间 //程序做一些功能性的操作doSomething ...
- javascript-智能社-JS基础A笔记
JavaScript基础A JavaScript组成 ECMA : 全称ECMAScript,解释器.计算机语言的翻译 DOM:全称Document Object Model,赋予了JS操作HTML的 ...
- Eclipse导入Maven项目时class not found
用maven开发javaweb项目可以自动导包,可以在配置文件pom.xml中发现依赖包,今天在eclipse中导入maven项目,开启tomcat服务器时报错 class not found, 看到 ...
- An existing PostgreSql installation has been found... 的解决
PostgreSql卸载之后,重新安装时跳出如下信息: Anexisting PostgreSql installation has been found atC:\ProgramFiles\Post ...
- Dreamweaver中清除php代码中多余空行的方法
使用DW自带的搜索功能,利用正则表达式 使用正则表达式搜索:\r\n\s*\r\n即可搜到代码中的空行,再用回车符\n替换即可消除代码中的多余空行
- 深入理解jQuery插件开发(转)
如果你看到这篇文章,我确信你毫无疑问会认为jQuery是一个使用简便的库.jQuery可能使用起来很简单,但是它仍然有一些奇怪的地方,对它基本功能和概念不熟悉的人可能会难以掌握.但是不用担心,我下面已 ...
- careercup-数学与概率 7.7
7.7 有些数的素因子只有3.5.7,请设计一个算法,找出其中第k个数. 解法: 首先,我们可以将满足条件的前几个数列出来,以此寻找解题思路. 一种简单的思路就是对于已经列出的数,我们依次去乘以3,5 ...
- HDU4570:Multi-bit Trie(区间DP)
Problem Description IP lookup is one of the key functions of routers for packets forwarding and clas ...