关闭

[数位DP]Hdu 3555——Bomb

标签: Hdu数位DP
425人阅读 评论(0) 收藏 举报
分类:

题目梗概

求不超过n的含49的数字的个数。

解题思路

数位DPSB题。

#include<cstdio>
#define LL long long
using namespace std;
LL n,f[25][15],x;
int a[25],len,t;
LL DFS(int len,int lst,int pd){
    if (len<1) return 1;
    if (!pd&&f[len][lst]!=0) return f[len][lst];
    int now;if (!pd) now=9;else now=a[len];
    LL num=0;
    for (int i=0;i<=now;i++)
    if (lst!=4||i!=9) num+=DFS(len-1,i,pd&&(i==now));
    if (!pd) f[len][lst]=num;
    return num;
}
int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%lld",&n);
        len=0;x=n;
        while(x>0){
            a[++len]=x%10;
            x/=10;
        }
        printf("%lld\n",n+1-DFS(len,0,1));
    }
    return 0;
}
0
0
查看评论

HDU-3555 Bomb (数位DP)

数位DP入门题 设dp[i][0]表示长度为i,不含49的数字个数;dp[i][1]表示长度为i,不含49且最高位为9的数字个数;dp[i][2]表示长度为i,含有49的数字个数 不是很明白为什么第二维状态要这样取...
  • idealism_xxm
  • idealism_xxm
  • 2016-05-08 19:06
  • 597

HDU3555:Bomb(数位DP)

Problem Description The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence ...
  • libin56842
  • libin56842
  • 2013-08-15 17:08
  • 4331

hdu3555---Bomb(数位dp,水)

Problem Description The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence ...
  • Guard_Mine
  • Guard_Mine
  • 2015-02-22 22:51
  • 693

hdu(3555)——Bomb(不要49)

这道题和不要62那道题有些类似,这道题是不要出现连续的49。 思路大致一样,只是在对f数组进行初始化的时候,我们需要求的是数中不含有49的个数,然后最后利用n+1-cal(n+1)来求出正确答案,这里与我想的有些不同。 还要注意一点,要全部转化为__int64,要不然的话会WA。 #inclu...
  • ACMer_hades
  • ACMer_hades
  • 2015-08-26 14:04
  • 655

【数位DP】 HDU 3555 Bomb

点击打开链接 求0-N之内 存在49的个数 先是统计了0-2^63内所有没有49的个数 n-getans(n+1)+1; getans(n+1)统计的是 0-n内的个数 #include #include #include #include #include #include #in...
  • u012749539
  • u012749539
  • 2014-12-08 22:49
  • 542

【数位DP】【HDU 3555】Bomb

求1~N中有多少个数包含“49”字样,N   #include using namespace std; typedef unsigned long long u64; u64 f[30]; u64 g[30]; u64 h[30]; void solve()...
  • u013420930
  • u013420930
  • 2014-01-08 19:43
  • 282

[数位DP] HDU 3555 Bomb

数位DP详见:http://blog.csdn.net/u014609452/article/details/52598675 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using nam...
  • u014609452
  • u014609452
  • 2016-09-20 18:23
  • 177

hdu 3555 Bomb(数位dp)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include using name...
  • slowlight93
  • slowlight93
  • 2014-11-01 22:52
  • 298

HDU 3555 Bomb (数位DP)

Problem Description The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequenc...
  • h1021456873
  • h1021456873
  • 2016-03-22 13:04
  • 288

HDU - 3555 Bomb (数位DP)

题意:求1-n里有多少人包含”49“的数字 思路:数位DP,分三种情况:到第i位没有49的情况,到第i位没有49且最高位是9的情况,到第i位有49的情况,将三种情况都考虑进去就是了 #include #include #include #include using namespace s...
  • u011345136
  • u011345136
  • 2014-07-03 21:30
  • 676
    个人资料
    • 访问:67622次
    • 积分:2325
    • 等级:
    • 排名:第18972名
    • 原创:157篇
    • 转载:1篇
    • 译文:0篇
    • 评论:48条
    我的日记
    博客专栏