HDU 2089 不要62
杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。
不吉利的数字为所有含有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相关推荐
- HDU - 2089 不要62 【暴力打表】【数位DP】
不要62 HDU - 2089 题意 求区间[n,m]之间有多少个数字不含4或者连续的62 解法1 由于数据范围是0~1e6,所以直接暴力判断每一位数字是否含有4或者62,然后求前缀和即可 #incl ...
- hdu 2089 不要62【数位dp】
HDU 2089 求给定区间内不含62和4的数的个数. 数位dp入门.从这里我清楚了一些数位dp的用法.比如limit是判断是否达到上界,而且需要判断(!limit)..比如若题目要求不含11的个数, ...
- [HDU]2089不要62
http://acm.hdu.edu.cn/showproblem.php?pid=2089 这道题跟Bomb(http://www.cnblogs.com/sjy123/p/3247731.html ...
- HDU 2089 不要62 数位DP
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2089 题目描述: 给定一个区间, 让你求这个区间中所有不带62 或 4 的数的个数 解题思路: 很明 ...
- HDU 2089 不要62(数位DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意 求一个区间内,不出现4和连续的62的数的个数. 分析 可以暴力打表.也可以数位DP. 设: ...
- HDU - 2089 不要62 【数位DP】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2089 思路 一切都在代码注释中 AC代码 #include <cstdio> #inclu ...
- 不要62 HDU - 2089【数位dp】
不要62 HDU - 2089 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以 ...
- Hdu 2089-不要62 数位dp
题目: http://acm.hdu.edu.cn/showproblem.php?pid=2089 不要62 Time Limit: 1000/1000 MS (Java/Others) Me ...
- hdu 2089 数位dp入门
HDU 2089 题意:中文题 思路:数位dp入门题 AC代码: #include "iostream" #include "string.h" #includ ...
最新文章
- 大学计算机专业副修课,计算机学院举行本科课程教学大纲修订工作研讨会
- android学习笔记之ImageView的scaleType属性
- 基数排序python实现
- 触摸事件练习 -- 手势解锁
- 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
- python def method_给python类动态添加方法(method)
- 温州大学《机器学习》课程课件(五、机器学习实践)
- 根据hibernate拦截器实现可配置日志的记录
- ubuntu查看文件大小
- C语言程序设计学习总结
- UbuntuHadoop集群搭建过程
- 苏州软件企业如何办理自产软件产品增值税即征即退
- android手机做电脑的显示器,怎样用手机当电脑显示器
- 戴德金--连续性和无理数--我自己做的中文翻译第11页
- 人生的DoR和DoD:志向、遗产
- java项目大概多少张表,要把数据插入到多张表?该如何处理
- 云计算如何运用在政府行业--解决方案
- 畜牧兽医职称需要考英语和计算机,畜牧兽医专业技术职称考试试题
- 英特尔大师挑战赛燃爆斗鱼直播节,华硕ROG热血助阵
- i.MX8MPlus中的CLK子系统
热门文章
- Python3 —— 列表
- 单纯形法求最小值的检验数_【运筹学】单纯形法(笔记和思考)
- jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程
- 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
- 数据结构链表之双向链表:Python3 实现双向链表——2
- 加入 Git 版本管理(git的基本使用)
- LeetCode 1877. 数组中最大数对和的最小值(贪心)
- 移动计算比移动数据更划算
- LeetCode 1713. 得到子序列的最少操作次数(最长上升子序DP nlogn)
- 05.序列模型 W1.循环序列模型(作业:手写RNN+恐龙名字生成)