杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 
不吉利的数字为所有含有4或62的号码。例如: 
62315 73418 88914 
都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 
你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。 

Input输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。 
Output对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。 
Sample Input

1 100
0 0

Sample Output

80题解: 数位DP入门;先处理出数字的每一位;然后对于每一位处理时,我们考虑是否为边界,如果不是边界,而且该初的值不为-1,则表示该位置的数已经求出,可以直接输出,否则,就从0到边界不断更新;

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 LL dp[10][2],n,m,digit[10];
 5
 6 LL dfs(int pos,bool flag,bool judge)
 7 {
 8     if(pos==0) return 1;
 9     int sz= judge? digit[pos]:9;
10     if(!judge && dp[pos][flag]!=-1) return dp[pos][flag];
11     LL ans=0;
12     for(int i=0;i<=sz;i++)
13     {
14         if(i==4) continue;
15         if(flag && (i==2)) continue;
16         ans+=dfs(pos-1,i==6,judge && (i==sz));
17     }
18     if(!judge) dp[pos][flag]=ans;
19     return ans;
20 }
21
22 LL f(LL num)
23 {
24     int temp=0;
25     while(num)
26     {
27         digit[++temp]=num%10;
28         num/=10;
29     }
30     return dfs(temp,0,1);
31 }
32
33 int main()
34 {
35     while(scanf("%lld%lld",&n,&m),n+m)
36     {
37         memset(dp,-1,sizeof dp);
38         printf("%lld\n",f(m)-f(n-1));
39     }
40
41     return 0;
42 }

View Code

转载于:https://www.cnblogs.com/songorz/p/9452838.html

HDU 2089 不要62相关推荐

  1. HDU - 2089 不要62 【暴力打表】【数位DP】

    不要62 HDU - 2089 题意 求区间[n,m]之间有多少个数字不含4或者连续的62 解法1 由于数据范围是0~1e6,所以直接暴力判断每一位数字是否含有4或者62,然后求前缀和即可 #incl ...

  2. hdu 2089 不要62【数位dp】

    HDU 2089 求给定区间内不含62和4的数的个数. 数位dp入门.从这里我清楚了一些数位dp的用法.比如limit是判断是否达到上界,而且需要判断(!limit)..比如若题目要求不含11的个数, ...

  3. [HDU]2089不要62

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 这道题跟Bomb(http://www.cnblogs.com/sjy123/p/3247731.html ...

  4. HDU 2089 不要62 数位DP

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2089 题目描述: 给定一个区间, 让你求这个区间中所有不带62 或 4 的数的个数 解题思路: 很明 ...

  5. HDU 2089 不要62(数位DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意 求一个区间内,不出现4和连续的62的数的个数. 分析 可以暴力打表.也可以数位DP. 设: ...

  6. HDU - 2089 不要62 【数位DP】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2089 思路 一切都在代码注释中 AC代码 #include <cstdio> #inclu ...

  7. 不要62 HDU - 2089【数位dp】

    不要62 HDU - 2089 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以 ...

  8. Hdu 2089-不要62 数位dp

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=2089 不要62 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  9. hdu 2089 数位dp入门

    HDU 2089 题意:中文题 思路:数位dp入门题 AC代码: #include "iostream" #include "string.h" #includ ...

最新文章

  1. 大学计算机专业副修课,计算机学院举行本科课程教学大纲修订工作研讨会
  2. android学习笔记之ImageView的scaleType属性
  3. 基数排序python实现
  4. 触摸事件练习 -- 手势解锁
  5. 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
  6. python def method_给python类动态添加方法(method)
  7. 温州大学《机器学习》课程课件(五、机器学习实践)
  8. 根据hibernate拦截器实现可配置日志的记录
  9. ubuntu查看文件大小
  10. C语言程序设计学习总结
  11. UbuntuHadoop集群搭建过程
  12. 苏州软件企业如何办理自产软件产品增值税即征即退
  13. android手机做电脑的显示器,怎样用手机当电脑显示器
  14. 戴德金--连续性和无理数--我自己做的中文翻译第11页
  15. 人生的DoR和DoD:志向、遗产
  16. java项目大概多少张表,要把数据插入到多张表?该如何处理
  17. 云计算如何运用在政府行业--解决方案
  18. 畜牧兽医职称需要考英语和计算机,畜牧兽医专业技术职称考试试题
  19. 英特尔大师挑战赛燃爆斗鱼直播节,华硕ROG热血助阵
  20. i.MX8MPlus中的CLK子系统

热门文章

  1. Python3 —— 列表
  2. 单纯形法求最小值的检验数_【运筹学】单纯形法(笔记和思考)
  3. jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程
  4. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
  5. 数据结构链表之双向链表:Python3 实现双向链表——2
  6. 加入 Git 版本管理(git的基本使用)
  7. LeetCode 1877. 数组中最大数对和的最小值(贪心)
  8. 移动计算比移动数据更划算
  9. LeetCode 1713. 得到子序列的最少操作次数(最长上升子序DP nlogn)
  10. 05.序列模型 W1.循环序列模型(作业:手写RNN+恐龙名字生成)