• A


     1     #include <iostream>
     2     #include <algorithm>
     3     #include <cstring>
     4     #include <cstdio>
     5     #include <cstdlib>
     6     #include <vector>
     7 
     8     using namespace std;
     9 
    10     #define LL long long
    11     const int MOD = 2520;
    12     LL dp[20][50][2550];
    13     int a[20];
    14     int Hash[2550];
    15 
    16     LL gcd(LL a, LL b)
    17     {
    18         return b?gcd(b,a%b):a;
    19     }
    20 
    21     LL dfs(int pos, int num, int lcm, bool limit)
    22     {
    23         if(-1==pos) return num%lcm == 0;
    24         if(!limit && ~dp[pos][Hash[lcm]][num]) return dp[pos][Hash[lcm]][num];
    25         LL ans = 0;
    26         int end = limit?a[pos]:9;
    27         for(int i=0; i<=end; i++)
    28             ans += dfs(pos-1, (num*10+i)%MOD, i?lcm*i/gcd(lcm,i):lcm, limit&&i==a[pos]);
    29         if(!limit) dp[pos][Hash[lcm]][num] = ans;
    30         return ans;
    31     }
    32 
    33     LL solve(LL n)
    34     {
    35         int pos = 0;
    36         while(n)
    37         {
    38             a[pos++] = n%10;
    39             n /= 10;
    40         }
    41         return dfs(pos-1, 0, 1, 1);
    42     }
    43 
    44     int main()
    45     {
    46         int T;
    47         scanf("%d", &T);
    48         int cnt = 0;
    49         for(int i=1; i<=MOD; i++)
    50             if(MOD%i == 0)
    51                 Hash[i] = cnt++;
    52         memset(dp, -1, sizeof(dp));
    53         while(T--)
    54         {
    55             long long l, r;
    56             scanf("%lld%lld", &l, &r);
    57             printf("%lld
    ", solve(r)-solve(l-1));
    58         }
    59         return 0;
    60     }
  • 相关阅读:
    win8下Source Insight has not been installed completely问题的解决
    linux命令学习——ps
    linux命令学习——file
    树莓派进阶之路 (023)
    树莓派进阶之路 (022)
    树莓派进阶之路 (021)
    树莓派进阶之路 (020)
    ubuntu下安装gedit插件
    C语言学习笔记 (004)
    C语言学习笔记 (003)
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/9126079.html
Copyright © 2020-2023  润新知