• HDU3555 Bomb 数位DP第一题


    The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the current number sequence includes the sub-sequence "49", the power of the blast would add one point. 
    Now the counter-terrorist knows the number N. They want to know the final points of the power. Can you help them? 

    InputThe first line of input consists of an integer T (1 <= T <= 10000), indicating the number of test cases. For each test case, there will be an integer N (1 <= N <= 2^63-1) as the description. 

    The input terminates by end of file marker. 
    OutputFor each test case, output an integer indicating the final points of the power.Sample Input

    3
    1
    50
    500

    Sample Output

    0
    1
    15

    #include<cstdio>
    #include<cstdlib>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    #define LL long long
    const int N=30;
    LL dp[N][2][2][2],n,ans;
    int a[N],cnt;
    void _divide(LL v){
        cnt=0;
        while(v){
            a[++cnt]=v%10;
            v/=10;
        }return ;
    }
    LL _dfs(int pos,bool limit,bool pre,bool stat)
    {
         if(pos==0) return stat;
         LL tmp=0;
         if(!limit&&dp[pos][limit][pre][stat]) return dp[pos][limit][pre][stat];
         int Up=limit?a[pos]:9;
         for(int i=0;i<=Up;i++)
             tmp+=_dfs(pos-1,limit&&i==Up,i==4,stat||(pre&&i==9));
         dp[pos][limit][pre][stat]=tmp;
         if(tmp>ans) ans=tmp;
         return tmp;
    }
    int main()
    {
        int i,T;
        scanf("%d",&T);
        while(T--){
            memset(dp,0,sizeof(dp));
            scanf("%lld",&n);
            _divide(n);
            printf("lld
    ",_dfs(cnt,true,false,false));
        }
        return 0;
    }
    View Code
  • 相关阅读:
    数据库连接池
    JDBC事务
    oracle 11g
    python自动化办公1-os模块学习
    python模块学习1
    requests-post请求
    linux学习二-目录文件相关命令
    Linux学习一常见的7个命令及命令的信息查看
    python-文件操作
    异常以及异常处理
  • 原文地址:https://www.cnblogs.com/hua-dong/p/7765361.html
Copyright © 2020-2023  润新知