zoukankan      html  css  js  c++  java
  • hdu 3555 数位dp入门

    套模板。。

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll s[22],dp[22][2];
    ll dfs(int len,bool lim,bool smax)
    {
        if(len==0) return 1;
        if(!smax&&dp[len][lim]) return dp[len][lim];
        ll ans=0,up=(smax?s[len]:9);
    
        for(ll i=0;i<=up;i++)
        {
            if(i==9&&lim)
                continue;
            ans+=dfs(len-1,i==4,smax&&i==up);
        }
        return smax ? ans : dp[len][lim] = ans;
    }
    ll solve(ll n)
    {
        memset(s,0,sizeof(s));
        int i=0;
        while(n)
        {
            s[++i]=n%10;
            n/=10;
        }
        return dfs(i,false,true);
    }
    int main()
    {
        ll T,n;
        cin>>T;
        while(T--)
        {
            cin>>n;
            cout<<n-solve(n)+solve(0)<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    数组
    灰度转换
    类的定义和头文件
    读文件
    操纵元
    传递引用
    TensorFlow常用函数
    四、Item Pipeline
    三、Scrapy Shell
    二、Scrapy案例入门
  • 原文地址:https://www.cnblogs.com/wandso/p/10135265.html
Copyright © 2011-2022 走看看