zoukankan      html  css  js  c++  java
  • hdu4722Good Numbers(dp)

    链接

    这题规律其实挺明显的 打表找规律估计都可以 正规点就是DP

    算出第N位所包含的good number的数量 如果给出的数是N+1位 就枚举各位上比原来小的数 加上下一位的dp值

    一个i写成g了 纠结了半天。

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<stdlib.h>
     5 #include<algorithm>
     6 using namespace std;
     7 #define LL __int64
     8 LL dp[20][20],a,b,pp;
     9 void init()
    10 {
    11     int i,j,g;
    12     for(i = 0 ; i <= 9 ; i++)
    13     dp[1][i] = 1;
    14     for(i = 2 ; i <= 18 ; i++)
    15         for(j = 0 ; j < 10 ; j++)
    16         for(g = 0 ; g <= 9 ; g++)
    17         {
    18             dp[i][(j+g)%10] += dp[i-1][j];
    19         }
    20 }
    21 LL find(LL x)
    22 {
    23     int i,j,p[20],g=0;
    24     while(x)
    25     {
    26         g++;
    27         p[g] = x%10;
    28         pp+=p[g];
    29         x/=10;
    30     }
    31     int s=0;
    32     LL ss=0;
    33     for(i = g ; i >= 1 ; i--)
    34     {
    35         for(j = 0 ; j < p[i] ; j++)
    36         {
    37             int o = s+j;
    38             if(i==1)
    39             {
    40                 if(o%10==0)
    41                     ss+=1;
    42                 continue;
    43             }
    44             for(int k = 0 ; k <= 9 ; k++)
    45             {
    46                 if((o+k)%10==0)
    47                 ss+=dp[i-1][k];
    48             }
    49         }
    50         s+=p[i];
    51     }
    52     return ss;
    53 }
    54 int main()
    55 {
    56     int t,i,kk=0;
    57     init();
    58     scanf("%d",&t);
    59     while(t--)
    60     {
    61         kk++;
    62         scanf("%I64d%I64d",&a,&b);
    63         LL s1 = find(a);pp=0;
    64         LL s2 = find(b);
    65         if(pp%10==0)
    66         s2++;
    67         printf("Case #%d: ",kk);
    68         printf("%I64d
    ",s2-s1);
    69     }
    70     return 0;
    71 }
    View Code
  • 相关阅读:
    java中反射
    mysql 的锁机制和ACID
    名词记忆
    switch语法之PHP
    PHP代码批量加密
    windows 20003 扩展安装后不成功的原因
    apache配置虚拟目录
    移动web在ios和android下点击元素出现阴影问题
    同时屏蔽ios和android下点击元素时出现的阴影
    DES
  • 原文地址:https://www.cnblogs.com/shangyu/p/3315622.html
Copyright © 2011-2022 走看看