题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089

题意:中文,不解释

题解:dp[i][j]表示当前第i位的前一个数为j,然后记忆化dfs,注意的是给的是一个区间,容斥完后要处理大的那个数

 #include<cstdio>
#include<cstring>
#define F(i,a,b) for(int i=a;i<=b;i++) int dp[][],n,m,dig[],len,ans1,tmp,fg,pre; int dfs(int pos,int pre,bool inf){
if(!pos)return !inf;
if(!inf&&dp[pos][pre]!=-)return dp[pos][pre];
int end=(inf?dig[pos]:),ans=;
F(i,,end)if(!(pre==&&i==||i==))ans+=dfs(pos-,i,inf&&(i==end));
if(!inf)dp[pos][pre]=ans;
return ans;
} int main(){
memset(dp,-,sizeof(dp));
while(~scanf("%d%d",&n,&m),n+m){
for(len=;n;)dig[++len]=n%,n/=;
ans1=dfs(len,,);
for(tmp=m,fg=,pre=-;tmp;pre=tmp%,tmp/=)
if(tmp%==)fg=;else if(tmp%==&&pre==)fg=;
for(len=;m;)dig[++len]=m%,m/=;
printf("%d\n",dfs(len,,)+fg-ans1);
}
return ;
}

hdu_2089_不要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)

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

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

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

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

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

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

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

  6. HDU2089 不要62 —— 数位DP

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

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

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

  8. hdu2089不要62(数位dp)

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

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

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

随机推荐

  1. opencv BP神经网络使用过程

       1.OpenCV中的神经网络 OpenCV中封装了类CvANN_MLP,因而神经网络利用很方便.   首先构建一个网络模型:     CvANN_MLP ann;     Mat structu ...

  2. Spring.net 学习

    最近一段时间,在学习spring.net方面的知识,spring.net是什么,spring.net是用来干什么的,我们这里就不在介绍了,spring.net有两方面的内容---IOC(DI)与AOP ...

  3. 【.NET】转载:使用FileStream批量上传文件。

    先看效果图: 代码(没什么难度的一个案例,进度条为第三方控件ProgressODoom.dll,自己去网上下.) using System; using System.Collections.Gene ...

  4. Trie树(字典树)

    传送门:http://hihocoder.com/problemset/problem/1014 #1014 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描 ...

  5. children

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> ...

  6. 大数据时代之hadoop(三):hadoop数据流(生命周期)

    了解hadoop,首先就需要先了解hadoop的数据流,就像了解servlet的生命周期似的.hadoop是一个分布式存储(hdfs)和分布式计算框架(mapreduce),但是hadoop也有一个很 ...

  7. js-轮播图

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" charset ...

  8. C/C++的静态库与动态库

    C/C++编程中相关文件后缀(以Linux系统下为例): .a:           静态库(archive) .c/.cpp:  C/C++源程序 .h/.hpp: C/C++源程序的头文件 .i: ...

  9. 如何理解CSS中的浮动 :其实他就像乘坐扶梯一样

    只要你用过自动扶梯,你就能很快的理解CSS中的浮动(Float). 你肯定遇到过这样的情况:       做好了,你想用CSS浮动来调整元素间的位置关系. 在写完代码之后,你发现浮动元素没出现在你设想 ...

  10. soj 2543 完全二叉树

    1000. 完全二叉树     Total: 338 Accepted: 81                 Time Limit: 1sec    Memory Limit:256MB Descr ...