http://www.cnblogs.com/xiaohongmao/p/3473599.html

  1. #include<cstdio>
  2. using namespace std;
  3. int n,m,f[8][3];
  4. void init()
  5. {
  6. f[0][0]=1;
  7. for(int i=1;i<=7;++i)
  8. {
  9. f[i][0]=f[i-1][0]*9-f[i-1][1];
  10. f[i][1]=f[i-1][0];
  11. f[i][2]=f[i-1][2]*10+f[i-1][0]+f[i-1][1];
  12. }
  13. }
  14. int work(int x)
  15. {
  16. int ans=0,t=x,bit[10],len=0;
  17. while(t)
  18. {
  19. bit[++len]=t%10;
  20. t/=10;
  21. }
  22. bit[len+1]=bit[len+2]=0;
  23. bool flag=0;
  24. for(int i=len;i;--i)
  25. {
  26. if((bit[i+1]==2 && bit[i+2]==6) || bit[i+1]==4)
  27. flag=1;
  28. ans+=f[i-1][2]*bit[i];
  29. if(flag)
  30. ans+=bit[i]*f[i-1][0];
  31. else
  32. {
  33. if(bit[i] > 6)
  34. ans+=f[i-1][1];
  35. if(bit[i] > 4)
  36. ans+=f[i-1][0];
  37. if(bit[i+1] == 6 && bit[i] > 2)
  38. ans+=f[i][1];
  39. }
  40. }
  41. return x-ans;
  42. }
  43. int main()
  44. {
  45. init();
  46. // freopen("hdu2089.in","r",stdin);
  47. while(1)
  48. {
  49. scanf("%d%d",&n,&m);
  50. if((!n) && (!m))
  51. break;
  52. printf("%d\n",work(m+1)-work(n));
  53. }
  54. return 0;
  55. }

【数位dp】hdu2089 不要62的更多相关文章

  1. [暑假集训--数位dp]hdu2089 不要62

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

  2. 数位dp(不要62)

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间内满足以下条件的数量 1.数位不能出现4,2.任意两相邻数位不能是62. 解法:数位dp[po ...

  3. 数位DP HDU2089

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

  4. UESTC 2015dp专题 H 邱老师选妹子 数位dp

    邱老师选妹子 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...

  5. HDU2089 不要62[数位DP]

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

  6. 数位dp入门 hdu2089 不要62

    数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是 ...

  7. [您有新的未分配科技点]数位dp:从懵X到板子(例题:HDU2089 不要62)

    数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法 ...

  8. hdu2089:不要62(基础数位dp)

    题意:规定一个合法的号码不能含有4或者是连续的62 给定区间[n,m] 问此区间内合法的号码的个数 分析:数位dp dp[i][j]代表 最高位为 j 的 i 位数有多少个合法的 然后按题目规则进行转 ...

  9. 【数位DP】【HDU2089】不要62

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

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

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

随机推荐

  1. 解决IIS设置多个工作进程中Session失效的问题

    利用StateServer实现Session共享 session保存在专门的StateServer中,该种方式,性能损失比sql略好.比inproc据说有10%-15%的性能损失.怎么使用StateS ...

  2. Codeforces Round #535 (Div. 3) 题解

    Codeforces Round #535 (Div. 3) 题目总链接:https://codeforces.com/contest/1108 太懒了啊~好久之前的我现在才更新,赶紧补上吧,不能漏掉 ...

  3. react 记录:React Warning: Hash history cannot PUSH the same path; a new entry will not be added to the history stack

    前言: react-router-dom 4.4.2 在页面中直接使用 import { Link } from 'react-router-dom' //使用 <Link to={{ path ...

  4. CSS3学习之radial-gradient(径向渐变)

    转自:http://www.cnblogs.com/rainman/p/5133685.html 1.语法 径向渐变不同于线性渐变,线性渐变是从“一个方向”向“另一个方向”的颜色渐变,而径向渐变是从“ ...

  5. leetcode-501. Find Mode in Binary Search Tree

    Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred ...

  6. noip2013 提高组

    T1 转圈游戏 题目传送门 果不其然 第一题还是模拟题 一波快速幂解决问题 #include<cstdio> #include<cstring> #include<alg ...

  7. python module: csv

    转自:sislcb 读 syntax : reader(csvfile[, dialect='excel'][, fmtparam]) csvfile:需要是支持迭代(Iterator)的对象,并且每 ...

  8. 百度面试题——top K算法

    需求 从一亿个数据中,找出其中最小的10个数. 分析 最笨的方法就是将这一亿个数据,按从小到大进行排序,然后取前10个.这样的话,即使使用时间复杂度为nlogn的快排或堆排,由于元素会频繁的移动,效率 ...

  9. XCode Playground Overview

    http://rshankar.com/xcode-6-and-playground/ Playground is an interactive work environment that allow ...

  10. Linux内核线程之深入浅出【转】

    转自:http://blog.csdn.net/yiyeguzhou100/article/details/53126626 [-] 线程和进程的差别 线程的分类 1     内核线程 2     轻 ...