zoukankan      html  css  js  c++  java
  • hdu2089

    基本的数位dp

    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    #define D(x) x
    
    const int MAX_DIGIT = 35;
    
    int n, m;
    int f[MAX_DIGIT];
    int memoize[MAX_DIGIT][2][2][2];
    
    void to_digits(int a)
    {
        for (int i = 0; i < MAX_DIGIT; i++)
        {
            f[i] = a % 10;
            a /= 10;
        }
    }
    
    int dfs(int digit, bool less, bool contain, bool six)
    {
        if (digit == -1)
        {
            return !contain;
        }
        if (memoize[digit][less][contain][six] != -1)
        {
            return memoize[digit][less][contain][six];
        }
        int limit = less ? 9 : f[digit];
        int ret = 0;
        for (int i = 0; i <= limit; i++)
        {
            if (i == 4 || (six && i == 2))
            {
                ret += dfs(digit - 1, less || i < f[digit], true, false);
                continue;
            }
            if (i == 6)
            {
                ret += dfs(digit - 1, less || i < f[digit], contain, true);
                continue;
            }
            ret += dfs(digit - 1, less || i < f[digit], contain, false);
        }
        memoize[digit][less][contain][six] = ret;
        return ret;
    }
    
    int main()
    {
        while (scanf("%d%d", &n, &m), n | m)
        {
            n--;
            to_digits(n);
            memset(memoize, -1, sizeof(memoize));
            int ans_n = dfs(32, false, false, false);
            to_digits(m);
            memset(memoize, -1, sizeof(memoize));
            int ans_m = dfs(32, false, false, false);
            printf("%d
    ", ans_m - ans_n);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    springboot和springcloud运行在外部tomcat
    kafka-线上单机broker扩容
    kafka集群部署和测试
    k8s-学习笔记2-容器部署nginx负载均衡
    logstash部署
    docker-学习笔记7-dockerfile
    kafka常用命令
    kafka-消费滞后(Lag)监控
    kibana-部署
    es-部署
  • 原文地址:https://www.cnblogs.com/rainydays/p/4260761.html
Copyright © 2011-2022 走看看