不要62

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 43588    Accepted Submission(s):
16034

Problem Description
杭州人称那些傻乎乎粘嗒嗒的人为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
 
Author
qianneng
 

注意::!!

统计答案按位数统计时 若n的第i位是5,那j就循环0~4 如果第一位是5同样如此,那如果n到58呢?超过五十怎么统计?

其实在统计两位数时,就把0~9统计到了,(00,01,02...09),统计一位数,相当于统计了超过50的数(0~8)。

代码在solve里面

 
 
/*
数位dp入门
f[i][j]表示一共有i位且最高位为j的符合条件个数
digit[i]表示从右往左数i个是什么数
*/
#include<iostream>
#include<cstdio>
#include<cstring> using namespace std;
int f[][],digit[],len,ans; void init()
{
memset(f,,sizeof f);
f[][]=;
for(int i=;i<=;i++)//位数
for(int j=;j<;j++)//当前位
for(int k=;k<;k++)//后一位
if(j!= && !(j==&&k==)) f[i][j]+=f[i-][k];
} int solve(int n)//统计1~n中符合条件
{
init();len=;ans=;
while(n>)
{
digit[++len]=n%;
n/=;
}digit[len+]=;
for(int i=len;i;i--)
{
for(int j=;j<digit[i];j++)//important
{
if(j!= && !(digit[i+]==&&j==))
ans+=f[i][j];
}
if(digit[i]== || (digit[i]==&&digit[i+]==)) break;//低位出现4 62高位不再考虑
}
return ans;
} int main()
{
int l,r;
while(scanf("%d%d",&l,&r))
{
if(l+r==) break;
printf("%d\n",solve(r+)-solve(l));
}
return ;
}

hdu2089不要62(数位dp)的更多相关文章

  1. HDU2089 不要62[数位DP]

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. HDU2089 不要62 —— 数位DP

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

  3. 【Hdu2089】不要62(数位DP)

    Description 题目大意:给定区间[n,m],求在n到m中没有"62"或"4"的数的个数. 如62315包含62,88914包含4,这两个数都是不合法的 ...

  4. HDU 2089 - 不要62 - [数位DP][入门题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...

  5. HDU 2089 不要62(数位DP&#183;记忆化搜索)

    题意  中文 最基础的数位DP  这题好像也能够直接暴力来做   令dp[i][j]表示以 j 开头的 i 位数有多少个满足条件 那么非常easy有状态转移方程 dp[i][j] = sum{ dp[ ...

  6. [hdu 2089] 不要62 数位dp|dfs 入门

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求[n, m]区间内不含4和62的数字个数. 这题有两种思路,直接数位dp和dfs 数位d ...

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

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

  8. HDU 2089 不要62 数位DP模板题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 参考博客:https://www.cnblogs.com/HDUjackyan/p/914215 ...

  9. hdu-2089 不要62 基础DP 模板

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP的思想时预处理以x开头长度为len的数(例如 x000~x999)的所有情况.给出一个数,可以在l ...

随机推荐

  1. C# Winform 获得下拉框 选中的值

    string PrintName = cmbPrinter.SelectedIndex.ToString(); PrintName = cmbPrinter.SelectedItem.ToString ...

  2. centOS安装python3 以及解决 导入ssl包出错的问题

    参考: https://www.cnblogs.com/mqxs/p/9103031.html https://www.cnblogs.com/cerutodog/p/9908574.html 确认环 ...

  3. jquery制作动态添加表单行与删除表单行

    <script type="text/javascript" src="js/jquery1.7.js"></script> <s ...

  4. Exception总结

    NO.1 java.lang.NullPointerException 程序遇上了空指针 NO.2 java.lang.ClassNotFoundException 指定的类不存在 NO.3 java ...

  5. trycatch中return语句如何执行

    测试代码如下: package reviewTest; /** * @ClassName: ReturnTest * @Description: 测试return在trycatch中的执行 * @au ...

  6. eclipse 快捷键及使用技巧

    一.程序的编译和运行的环境配置(一般不改) window -- Preferences -- Java 编译环境:Compiler 默认选中的就是最高版本. 运行环境:Installed JREs 默 ...

  7. GlobalSign 多域型(SNAs) SSL 证书

    GlobalSign 多域型(SNAs) SSL 证书 GlobalSign 多域型(SNAs) SSL 证书,有别于通配符 SSL 证书可以同时保护一个域名下所有的子域名网站,SANs 证书更进一步 ...

  8. 【Codeforces 459D】Pashmak and Parmida's problem

    [链接] 我是链接,点我呀:) [题意] 定义两个函数 f和g f(i)表示a[1..i]中等于a[i]的数字的个数 g(i)表示a[i..n]中等于a[i]的数字的个数 让你求出来(i,j) 这里i ...

  9. 【codeforces 515A】Drazil and Date

    [题目链接]:http://codeforces.com/contest/515/problem/A [题意] 每次只能走到相邻的四个格子中的一个; 告诉你最后走到了(a,b)走了多少步->s ...

  10. [bzoj1592][Usaco09Feb]Making the Grade 路面修整_动态规划

    Making the Grade 路面修整 bzoj-1592 题目大意:给你n段路,每段路有一个高度h[i],将h[i]修改成h[i]$\pm\delta$的代价为$\delta$,求将这n段路修成 ...