杭州人称那些傻乎乎粘嗒嗒的人为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模板,记忆化搜索+数位限制limit
const int maxm = ;

int dp[maxm][], n, m, a[maxm];

int dfs(int pos, int state, int pre, bool limit) {
if(pos == -) return ;
if(!limit && dp[pos][state] != -) return dp[pos][state];
int up = limit?a[pos]:;
int tmp = ;
for(int i = ; i <= up; ++i) {
if(pre == && i == ) continue;
if(i == ) continue;
tmp += dfs(pos-, i == , i, limit && i == a[pos]);
}
if(!limit) dp[pos][state] = tmp;
return tmp;
} int solve(int n, int m) {
int pos = ;
while(n) {
a[pos++] = n % ;
n /= ;
}
int t1 = dfs(pos-, , -, true);
pos = ;
while(m) {
a[pos++] = m % ;
m /= ;
}
t1 = dfs(pos-, , -, true) - t1;
return t1;
} void run_case(int n, int m) {
memset(dp, -, sizeof(dp));
cout << solve(n-, m) << "\n";
} int main() {
ios::sync_with_stdio(false), cin.tie();
while(cin >> n >> m && n+m)
run_case(n, m);
return ;
}
												

Day9 - I - 不要62 HDU - 2089的更多相关文章

  1. 不要62 hdu 2089 dfs记忆化搜索

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 给你两个数作为一个闭区间的端点,求出该区间中不包含数字4和62的数的个数 思路: 数位dp中 ...

  2. A - 不要62 HDU - 2089

    #include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #incl ...

  3. 水题 不要62 HDU 2089

    先预处理出所有的数是不是可能拿来用,我的想法是记录1-i这个区间内可用的数为s[i]. 输入a,b.答案就为s[b] - s[a-1]. 贴代码: #include<cstdio> #de ...

  4. 数位DP入门(A - 不要62 HDU - 2089 &&B - Bomb HDU - 3555 )

    题目链接:https://cn.vjudge.net/contest/278036#problem/A 具体思路:对于给定的数,我们按照位数进行运算,枚举每一位上可能的数,在枚举的时候需要注意几个条件 ...

  5. Hdu 2089 不要62 (数位dp入门题目)

    题目链接: Hdu 2089 不要62 题目描述: 给一个区间 [L, R] ,问区间内不含有4和62的数字有多少个? 解题思路: 以前也做过这个题目,但是空间复杂度是n.如果数据范围太大就GG了.今 ...

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

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

  7. HDU 2089 简单数位dp

    1.HDU 2089  不要62    简单数位dp 2.总结:看了题解才敲出来的,还是好弱.. #include<iostream> #include<cstring> #i ...

  8. 递推、数位DP解析(以HDU 2089 和 HDU 3555 为例)

    HDU 2089 不要62 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2089 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人 ...

  9. 2019年9月训练(壹)数位DP (HDU 2089)

    开学之后完全没时间写博客.... HDU 2089 不要62(vjudge) 数位DP 思路: 题目给出区间[n,m] ,找出不含4或62的数的个数 用一个简单的差分:先求0~m+1的个数,再减去0~ ...

随机推荐

  1. ubuntu 18 python3.6更换国内源和pip3源

    1.更换国内源 查看Ubuntu18版本和codename(一定要注意codename对应) lsb_release -a No LSB modules are available. Distribu ...

  2. ASP.NET学习记录点滴

    1.判读是否是第一次请求,有表单的页面,第一次请求时get请求,而不是post请求,所以可以用来判断请求是否是get,在apsx页面中,有微软封装的属性IsPostBack来判断是否是get还是pos ...

  3. 这里是常见的HTTP状态码

    遇到过的HTTP状态码 200(Ok):请求成功,服务器成功返回网页. 403(Forbidden):服务器已经理解请求,但是拒绝执行它. 404(Not Found):请求失败,请求所希望得到的资源 ...

  4. POJ3662 Telephone Lines (dijkstra+二分)

    Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoop ...

  5. 【Hutool】工具类之日期时间工具-DateUtil

    日期时间工具类 一.依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-al ...

  6. php 基础知识 SESSION 和 COOKIE 的区别

    1,session 在服务器端,cookie 在客户端(浏览器)2,session 默认被存在在服务器的一个文件里(不是内存)3,session 的运行依赖 session id,而 session ...

  7. 一个简单的PHP文件下载方法 download

    <?php /* * *@param function downloadFile 文件下载 * *@param string $filename 下载文件的路径(根目录下的绝对路径) * *@p ...

  8. VIM 练级

    https://coolshell.cn/articles/5426.html

  9. Cosmetic Sprayer Structure Anatomy

    What shape of spray is sprayed by the cosmetic spray pump head?     Plastic Sprayers Manufacturer   ...

  10. 数据包报文格式(IP包、TCP报头、UDP报头)

    转自: https://blog.51cto.com/lyhbwwk/2162568 一.IP包格式 IP数据包是一种可变长分组,它由首部和数据负载两部分组成.首部长度一般为20-60字节(Byte) ...