不要62

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

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
 
Source
 
Recommend
lcy

/*
第一遍直接用搜索搞得,300多ms,第二次明白了dp数组的用处,只用了15ms
dp数组的作用就是把每次搜到的状态都记录下来,等到再次搜到相同条件的时候,就不用继续递归下去了,直接调用答案,所以时间上会省时不少
*/
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <algorithm>
#define N 100
using namespace std;
/*
这个题我感觉没看懂给的数位DP用搜索就搞了,我下去再看看
*/
int g[];//一个数的每一位数,下标从1到len表示的是从个位到最高位
int dp[N][N];//dp[i][j]表示当前剩余位数为i时当前位上有无6的状态为j是的状态;
int dfs(int len,bool s,bool f)//剩下的位数,当前位置是不是6,选择数字的时候有没有限制,遍历的数字不能你要求的这个数还大
{
if(len<)
return ;//找到一个终点了就输出一种解法
if(!f&&dp[len][s]!=-)
return dp[len][s];
int cur=;
int fmax=f?g[len]:;//有限制只能选这一位上的数,没限制的话能选九位
for(int i=;i<=fmax;i++)
{
if(i==||(s&&i==)) continue;//不能有4,并且下两位不能是62
cur+=dfs(len-,i==,f&&(i==fmax));
//cout<<cur<<endl;
}
if(!f)
dp[len][s]=cur;
return cur;
}
int f(int x)
{
int len=;
while(x!=)//将每一位数都存到数组中
{
g[len++]=x%;
x/=;
}
memset(dp,-,sizeof dp);
//cout<<"len="<<len<<endl;
return dfs(len-,false,true);
}
int main()
{
//freopen("in.txt","r",stdin);
int a,b;
while(scanf("%d%d",&a,&b)!=EOF,(a||b))
printf("%d\n",f(b)-f(a-));
return ;
}

hdu 2089 不要62(入门数位dp)的更多相关文章

  1. HDU 2089 不要62(数位dp入门)

    题意:统计区间 [a,b] 中不含 4 和 62 的数字有多少个. 题解:这是数位DP的入门题了,首先要理解数DP的原理,DP[i][j]:代表第i位的第j值,举个栗子:如4715   数位数是从右向 ...

  2. HDU 2089 不要62【数位DP入门题】

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

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

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

  4. HDU 2089 不要62(数位dp模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间内不包含4和连续62的数的个数. 思路: 简单的数位dp模板题.给大家推荐一个好的讲解博客.h ...

  5. HDU 2089 不要62 【数位dp】

    <题目链接> 不要62 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照 ...

  6. 题解——HDU 2089 不要62(数位DP)

    最近在学数位DP 应该是入门题吧 设\( dp[i][0/1] \)表示到第\( i \)位时,前一位是否是6的满足条件的数的个数 然后就是套路 注意\( limit \)的限制条件以及转移时候信息的 ...

  7. HDU 2089 不要62 (数位DP)题解

    思路: 详解 数位DP入门题dp[pos][sta],pos代表当前位数是第几位,sta代表当前状态,因为题目中只要不出现64,所以当前状态只分为两种:前一位是6或不是. #include<io ...

  8. hdu 2089 不要62 (数位dp)

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

  9. HDU 2089 不要62 (数位DP,入门)

    题意: 只要含连续的62,或者含4的车牌号码都是不吉利的,其他都是吉利的组合.问区间[L,R]中有多少个数是吉利的? 思路: 依然是利用树(10进制是十叉树)的思想,统计左边所有子树有多少个数是吉利的 ...

  10. HDU 2089 不要62:数位dp

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 问你在区间[n,m]中,有多少个数字不含"4"且不含"62 ...

随机推荐

  1. 在http请求中的Content-Type

    声明:multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息: x-www-form-urlencoded:只能上传键值对,并且键值对都是间 ...

  2. getField()和select()方法的区别

    在ThinkPHP中,查询数据库是必不可少的操作. 那么,getField()方法和select()方法都是查询的方法,到底有什么不同呢? 案例来说明: A.select()方法 例子1 $acces ...

  3. 【转】深入理解CSS定位中的偏移

    前面的话 CSS有三种基本的定位机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.但元素究竟如何定位,定 ...

  4. Hive 存储类型 StoreType

    file_format: : SEQUENCEFILE | TEXTFILE -- (Default, depending on hive.default.fileformat configurati ...

  5. MUI顶部选项卡的用法(tab-top-webview-main)

      前  言           MUI是一款最接近原生APP体验的高性能前端框架,它的比较重要的功能是:下拉刷新.侧滑导航.滑动触发操作菜单和顶部(底部)选项卡等 最近用MUI做手机app应用的时候 ...

  6. util包里的一些类的使用

    好几天没有更新我的博客了 .国庆放假出去玩了一趟,这回来应该收心回到我的事业上了,哈哈哈!废话不多说,开始学习吧!首先今天来学习一些例子,这些例子可以回顾假期遗忘的知识,还能提高自己的能力.程序也会相 ...

  7. PHP字符串替换str_replace()函数4种用法详解

    mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )该函数返回一个字符串 ...

  8. Entity Framework相关介绍

    在深入学习某项技术之前,应该努力形成对此技术的总体印象,并了解其基本原理,本文的目的就在于此. 一.理解EF数据模型 EF本质上是一个ORM框架,它需要把对象映射到底层数据库中的表,为此,它使用了三个 ...

  9. asp.net数据四舍五入

    #region 数据四舍五入 /// <summary> /// 四舍五入 /// </summary> /// <param name="dblnum&quo ...

  10. MySQL主从复制 + Mycat实现读写分离

    说明:两台MySQL服务器都是使用CentOS6.5系统,MySQL版本为mysql-5.7.17 MySQL一主一被实现主从复制 注意:写包括insert,delete,update 操作:读只有s ...