【数位dp】【HDU 3555】【HDU 2089】数位DP入门题
【HDU 3555】原题直通车:
代码:
// 31MS 900K 909 B G++ #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[20];
__int64 dp[20][11];
void digit_dp() {
memset(dp, 0LL, sizeof(dp));
dp[0][0]=1;
for(int i=1; i<20; ++i)
for(int j=0; j<10; ++j)
for(int k=0; k<10; ++k) {
if(j==4&&k==9) continue;
dp[i][j]+=dp[i-1][k];
}
}
__int64 Count(__int64 x) {
__int64 u=x, ret=0LL;
int t=0;
memset(a, 0, sizeof(a));
while(u) a[++t]=u%10, u/=10;
for(int i=t; i>=1; --i) {
for(int j=0; j<a[i]; ++j) ret+=dp[i][j];
if(a[i]==9&&a[i+1]==4){
ret--; break;
}
}
return ret;
}
int main() {
int T; scanf("%d",&T);
digit_dp();
while(T--) {
__int64 n;
scanf("%I64d",&n);
__int64 ans=Count(n);
printf("%I64d\n",n-ans);
}
return 0;
}
【HDU 2089】原题直通车:
代码:
// 15MS 844K 921 B C++ #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int dp[10][10];
void digit_dp() {
memset(dp, 0, sizeof(dp));
dp[0][0]=1;
for(int i=1; i<8; ++i)
for(int j=0; j<10; ++j)
for(int k=0; k<10; ++k) {
if(j==4||k==4||(j==6&&k==2)) continue;
dp[i][j]+=dp[i-1][k];
}
}
int a[10];
int Count(int x) {
memset(a, 0, sizeof(a));
int u=x, ret=0, t=0;
while(u) a[++t]=u%10, u/=10;
for(int i=t; i>=1; --i) {
for(int j=0; j<a[i]; ++j){
ret+=dp[i][j];
}
if(a[i+1]==6){
if(a[i]==2) break;
if(a[i]>2)ret-=dp[i][2];
}
if(a[i]==4) break;
}
return ret;
}
int main() {
int n, m;
digit_dp();
while(~scanf("%d%d",&n,&m)&&n+m)
printf("%d\n",Count(m+1)-Count(n));
return 0;
}
【数位dp】【HDU 3555】【HDU 2089】数位DP入门题的更多相关文章
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
- HDU 3555 Bomb(数位DP模板啊两种形式)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 Problem Description The counter-terrorists found ...
- HDU 3555 Bomb (数位DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题目大意:从0开始到给定的数字N所有的数字中遇到“49”的数字的个数. Sample Input ...
- hdu 3555 Bomb ( 数位DP)
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Subm ...
- hdu 3555 Bomb 【数位DP】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题意:上一题是不要62 这个是"不要49" 代码: #include < ...
- 动态规划晋级——HDU 3555 Bomb【数位DP详解】
转载请注明出处:http://blog.csdn.net/a1dark 分析:初学数位DP完全搞不懂.很多时候都是自己花大量时间去找规律.记得上次网络赛有道数位DP.硬是找规律给A了.那时候完全不知数 ...
- HDU 3555 Bomb(数位DP)
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Subm ...
- hdu 3555 Bomb(数位dp入门)
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Subm ...
- hdu 1251 统计难题 (字典树入门题)
/******************************************************* 题目: 统计难题 (hdu 1251) 链接: http://acm.hdu.edu. ...
- hdu String Problem(最小表示法入门题)
hdu 3374 String Problem 最小表示法 view code#include <iostream> #include <cstdio> #include &l ...
随机推荐
- iOS 模态视图转场的动画效果
ModalViewController * modalView = [[ModalViewController alloc]init]; modalView.modalTransitionStyle ...
- IOS8 不用计算Cell高度的TableView实现方案
这个新特性,意味着View被Autolayout调整frame后,会自动拉伸和收缩SupView. 具体到Cell,要求cell.contentView的四条边都与内部元素有约束关系. 在TableV ...
- js命名空间的使用
js命名空间的使用: test.html 代码如下: <!DOCTYPE HTML><html lang="en-US"><head> & ...
- 【转】CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”
源自:http://www.cnblogs.com/yangbingqi/p/3328610.html 刚安装完CentOS,使用yum命令安装一些常用的软件,使用如下命令:yum grouplist ...
- MYSQL alter procedure alter function 它们只可以更改过程的特性,不可以更改过程的逻辑。
例子: delimiter // create procedure proc_a(in numberA int) 这样create procedure 是正确的 begin select number ...
- 电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
电脑Windows7系统如何取得文件管理所有权?从 VISTA开始,微软对操作系统的安全性有了明显的提高,这样使得以前我们在XP下都可以打开或删除的文件(夹),无法在WIN7下进行操作.就算是在 Ad ...
- 文件保护DEP
文件保护DEP数据执行保护(DEP)引起的电脑故障一例 症状:双击桌面上的“我的电脑”.“我的文档”等,explorer.exe重新起动,反复如此,简单说就是“我的电脑”打不开,一双击桌面上就啥都没有 ...
- rsyslogd: error during parsing file /etc/rsyslog.conf, on or before line 55: warnings occured in fil
zjtest7-frontend:/root# rsyslogd -n rsyslogd: error during parsing file /etc/rsyslog.conf, on or bef ...
- 第一次当Uber司机,就拉到漂亮妹纸
黑马哥的Uber司机端装上很久了,一次活儿也没拉,心里一直有一种当“张师傅”的冲动.黑马哥当Uber司机,肯定不是为了图挣钱,也不是因为Uber有“新约炮神器”的称号,能通过“拉活”来泡妹纸.黑马哥体 ...
- objective-C Ⅱ
objective-C Ⅱ 接第一讲 objective-c初识 一.oc中的数组:NSArray 定义: NSArray *arrayName=[NSArray arrayWithObje ...