原题链接

数位\(DP\)入门题。

记录前一个枚举到的数位,在每次枚举的时候避开\(4\),如果前一个数位为\(6\),还要跳过\(2\)。

然后套上记搜模板就好。

#include<cstdio>
#include<cstring>
using namespace std;
const int N = 10;
int a[N], f[N][2];
inline int re()
{
int x = 0;
char c = getchar();
bool p = 0;
for (; c < '0' || c > '9'; c = getchar())
p |= c == '-';
for (; c >= '0' && c <= '9'; c = getchar())
x = x * 10 + c - '0';
return p ? -x : x;
}
int dfs(int pos, int pre, int nw, int lm)
{
if (pos < 0)
return 1;
if (!lm && f[pos][nw] > -1)
return f[pos][nw];
int i, k = lm ? a[pos] : 9, s = 0;
for (i = 0; i <= k; i++)
{
if ((!(pre ^ 6) && !(i ^ 2)) || !(i ^ 4))
continue;
s += dfs(pos - 1, i, i == 6, lm && i == a[pos]);
}
if (!lm)
return f[pos][nw] = s;
return s;
}
int calc(int x)
{
int l = 0;
do
{
a[l++] = x % 10;
x /= 10;
} while (x > 0);
return dfs(l - 1, -1, 0, 1);
}
int main()
{
int n, m;
memset(f, -1, sizeof(f));
while (1)
{
n = re();
m = re();
if (!n && !m)
return 0;
printf("%d\n", calc(m) - calc(n - 1));
}
return 0;
}

HDOJ2089 不要62的更多相关文章

  1. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  2. P87LPC760/61/62/64/67/68/69/78/79芯片解密单片机破解价格

    NXP恩智浦P87LPC760/61/62/64/67/68/69/78/79芯片解密单片机破解 NXP LPC700系列单片机解密型号: P87LPC759.P87LPC760.P87LPC761. ...

  3. HDU2089 不要62[数位DP]

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

  4. Connection broken for id 62, my id = 70, error =

    启动费zokeeper失败,报错如下:Connection broken for id 62, my id = 70, error = 原因是因为zoo.cfg中server.id不正确. serve ...

  5. base64/62 加解密的实现。

    base64/62加解密代码下载地址: http://files.cnblogs.com/files/Kingfans/base64(62)加解密.zip base64: base62:

  6. /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’

    /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’/usr/include/linux/types.h:13: erro ...

  7. [HDU2089]不要62

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

  8. NYOJ题目62笨小熊

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAK1CAIAAAChInrhAAAgAElEQVR4nO3dO3LjutaG4X8Szj0Qxx

  9. 62个Android Studio小技巧合集

    1书签(Bookmarks) 描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处. 调用:Menu → Navigate → Bookmarks 快捷键: 添加/移除书签 ...

随机推荐

  1. OpenCV Python : No drawMatchesknn function

    2 down vote The functions cv2.drawMatches and cv2.drawMatchesKnn are not available in newer versions ...

  2. 设置HTML编码为UTF-8

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. KADEMLIA算法学习

    在上一篇文章中<P2P技术是什么>,我们介绍了P2P技术的特点以及发展历史.在本篇文章中,我们来介绍某一个具体的算法. 如今很多P2P网络的实现都采用DHT的方式实现查找,其中Kademl ...

  4. 常见异常代码oracle

    exception oracle error sqlcode value condition no_data_found ora-01403 +100 select into 语句没有符合条件的记录返 ...

  5. 辅助测试工具xip.io

    http://xip.io/ https://github.com/basecamp/xip-pdns

  6. 1.3.1、CDH 搭建Hadoop在安装之前(端口---Cloudera Manager和Cloudera Navigator使用的端口)

    下图概述了Cloudera Manager,Cloudera Navigator和Cloudera Management Service角色使用的一些端口: Cloudera Manager和Clou ...

  7. Java中的IO流,Input和Output的用法,字节流和字符流的区别

    Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...

  8. java基本数据间转换

    string=====>int int x = Integer.parseInt(“1111”); string=====>char char x = request.getParamet ...

  9. day27 异常处理 和 网络协议

    元类补充 class MyMeta(type): # 用于新建类对象 def __new__(cls,*args,**kwargs) print(MyMeta) print(*args) # 调用ty ...

  10. 【C++】Mandelbrot集绘制(生成ppm文件)

    曼德勃罗特集是人类有史以来做出的最奇异,最瑰丽的几何图形.曾被称为"上帝的指纹". 这个点集均出自公式:Zn+1=(Zn)^2+C.(此处Z.C均为复数)所有使得该公式无限迭代后的 ...