题目链接:http://acm.swust.edu.cn/problem/1097/

Time limit(ms): 1000      Memory limit(kb): 32768
 

今年是2014年,所以小明喜欢2014的每一位数字(即:2,0,1,4),小明想知道在区间[l,r](包括l和r)中有多少个数中含有这4个数字(数字无前缀零)。

Description

多组数据。

每组数据输入2个数l,r(0<l<r<=10^9)

Input

输出占一行,即区间[l,r](包括l和r)中包含的满足条件的数的个数

Output
1
2
3
1 10
100 1024
 
Sample Input
1
2
3
0
1
 
Sample Output
输出换行请使用\r\n

Hint
swust第10届校赛
 
 
解题思路:就一个简单的数位dp,直接套模板就是了~~~
(不会的可以戳戳这里:http://www.cnblogs.com/zyxStar/p/4563830.html
 
代码如下:
 #include<iostream>
#include<cstring>
using namespace std;
int dp[][][][][];//返回各数状态
int bit[]; //数位dp
int dfs(int pos, int s2, int s0, int s1, int s4, bool limit, bool fzero)
{
//注意前导零的影响
if (pos == -) return s2&&s0&&s1&&s4;
if (!limit&&!fzero&&~dp[pos][s2][s0][s1][s4])
return dp[pos][s2][s0][s1][s4];//条件判断
int end = limit ? bit[pos] : ;
int ans = , i;
for (i = ; i <= end; i++){
int now2 = s2, now0 = s0, now1 = s1, now4 = s4;
if (s2 == ){
if (i == )
now2 = ;
}
if (s0 == ){
if (!fzero&&i == )
now0 = ;
}
if (s1 == ){
if (i == )
now1 = ;
}
if (s4 == ){
if (i == )
now4 = ;
}
ans += dfs(pos - , now2, now0, now1, now4, limit&&i == end, fzero&&!i);
}
return limit || fzero ? ans : dp[pos][s2][s0][s1][s4] = ans;
}
int calc(int n){
int len = ;
while (n){
bit[len++] = n % ;
n /= ;
}
return dfs(len - , , , , , , );
}
int main(){
int l, r;
memset(dp, -, sizeof(dp));
while (cin >> l >> r)
cout << calc(r) - calc(l - ) << "\r\n";
return ;
}

[Swust OJ 1097]--2014(数位dp)的更多相关文章

  1. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  2. light oj 1068 - Investigation 数位DP

    思路:典型的数位DP!!! dp[i][j][k]:第i位,对mod取余为j,数字和对mod取余为k. 注意:由于32位数字和小于95,所以当k>=95时,结果肯定为0. 这样数组就可以开小点, ...

  3. [Swust OJ 715]--字典序问题(组合数预处理/数位dp)

    题目链接:http://acm.swust.edu.cn/problem/715/ Time limit(ms): 1000 Memory limit(kb): 65535   在数据加密和数据压缩中 ...

  4. [Swust OJ 648]--简单字典(数位dp)

    题目链接:http://acm.swust.edu.cn/problem/0648/ Time limit(ms): 1000 Memory limit(kb): 65535   有这样一本字典,它每 ...

  5. Light OJ 1032 - Fast Bit Calculations(数位DP)

    题目大意: 一个数字把他看成二进制数字,数字里又会一些相邻的1,问从0到n至间所有相邻1的总和是多少?   分解成2进制数字,然后数位DP就行了.   ======================== ...

  6. NEUQ OJ 2004:追梦之人 (计数数位dp)

    2004: 追梦之人 描述 题目描述: 为了纪念追梦人,粉丝们创造了一种新的数——“追梦数”.追梦数要满足以下两个条件:1.数字中不能出现“7”2.不能被7整除.比如:777和4396就不是追梦数,而 ...

  7. bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3598 数位DP...东看西看:http://www.cnblogs.com/Artanis/ ...

  8. [swustoj 1097] 2014

    2014(1097) 问题描述 今年是2014年,所以小明喜欢2014的每一位数字(即:2,0,1,4),小明想知道在区间[l,r](包括l和r)中有多少个数中含有这4个数字(数字无前缀零). 输入 ...

  9. hdu----(5045)Contest(数位dp)

    Contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

随机推荐

  1. Apache与Nginx网络模型

    Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是linux内核2.6以后才出现的.下面通过比较Apache和Nginx工作原理来比较. 传统Apache都是多进 ...

  2. php基础教程笔记2

    如果学过c.java,php的语法不学即会,但是不同的是php是一种脚本语言,需要解释器才能运行.php又和js不同,js是客户端语言,而php运行在服务器端,它无法获取客户端浏览器信息.但是php又 ...

  3. codeforces 622F. The Sum of the k-th Powers 拉格朗日插值法

    题目链接 求sigma(i : 1 to n)i^k. 为了做这个题这两天真是补了不少数论, 之前连乘法逆元都不知道... 关于拉格朗日插值法, 我是看的这里http://www.guokr.com/ ...

  4. linux用户管理最常用的三个文件说明(不完整版)

    涉及到三个文本文件:/etc/passwd /etc/shadow /etc/group 文件相关: /etc/passwd和用户名相关 /etc/shadow和密码相关 /etc/group和用户所 ...

  5. verilog中读取文件中的字符串_modelsim高级仿真

    今天给个程序大家玩玩.因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串.一直copy 函数 UART ("COMM_1");  UART ("COM ...

  6. IPTABLES 映射问题

    今天要做一个新的映射:将内网的一个8090口映射到外网的8087口. 在 /ETC/RC.LOCAL中最后插入: iptables -t nat -A PREROUTING -d outIP -p t ...

  7. vs linq to db template

    linq to db template 支持sqlite. mysql .db2. accress. oracle. Firebird等多种数据库以linq方式操作数据. NuGet NuGet 是 ...

  8. 08.net网站开发(前端):5.jQuery

    开发网站肯定要会JS,嫌代码太难看难学那至少要学会jQuery.当然我见过有些项目纯用服务端控件也是能做出来的,但我相信,那些碰到复杂的需求的话肯定很棘手的.jQuery是对JS和DOM的封装,少量代 ...

  9. leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法

    Swap Nodes in Pairs  Given a linked list, swap every two adjacent nodes and return its head. For exa ...

  10. poj1077 Eight【爆搜+Hash(脸题-_-b)】

    转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4298840.html   ---by 墨染之樱花 题目链接:http://poj.org/pr ...