zoukankan      html  css  js  c++  java
  • hdu3555_数位dp

    http://acm.hdu.edu.cn/showproblem.php?pid=3555

    题意,1-n, 有多少个数含有49

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <cstdio>
     6 #include <vector>
     7 #include <ctime>
     8 #include <queue>
     9 #include <list>
    10 #include <set>
    11 #include <map>
    12 using namespace std;
    13 #define INF 0x3f3f3f3f
    14 typedef long long LL;
    15 
    16 LL dp[25][5];
    17 // dp[1][0] = 10;//没有49
    18 // dp[1][1] = 1;//9
    19 // dp[1][2] = 0;//有49
    20 void find()
    21 {
    22     memset(dp, 0, sizeof(dp));
    23     dp[0][0] = 1;
    24     for(int i = 1; i <= 20; i++)
    25     {
    26         dp[i][0] = (LL)dp[i - 1][0] * 10 - dp[i - 1][1];
    27         dp[i][1] = dp[i - 1][0];
    28         dp[i][2] = (LL)dp[i - 1][2] * 10 + dp[i - 1][1];
    29     }
    30 }
    31 
    32 void solve(LL n)
    33 {
    34     int len = 0;
    35     int bit[25];
    36     while(n)
    37     {
    38         bit[++len] = n % 10;
    39         n /= 10;
    40     }
    41     bit[len + 1] = 0;
    42     LL ans = 0;
    43     int flag = 0;
    44     for(int i = len; i > 0; i--)
    45     {
    46         ans += (LL)dp[i - 1][2] * bit[i];
    47         if(flag)
    48             ans += (LL)dp[i - 1][0] * bit[i];
    49         if(!flag && bit[i] > 4)
    50             ans += dp[i - 1][1];
    51         if(bit[i + 1] == 4 && bit[i] == 9)
    52             flag = 1;
    53     }
    54     printf("%I64d
    ", ans);
    55 }
    56 int main()
    57 {
    58     int t;
    59     LL n;
    60     scanf("%d", &t);
    61     find();
    62     while(t--)
    63     {
    64         scanf("%I64d", &n);
    65         solve(n + 1);
    66     }
    67     return 0;
    68 }
    View Code
  • 相关阅读:
    set命令_Linux
    AngularJS的date 过滤器
    JMeter环境介绍
    JMeter测试计划要素
    HTTP协议的压缩及URL Encode
    fiddler配置及使用教程
    Slenium常用方法
    Selenium八大定位
    CSS实现上下左右垂直居中
    SASS用法笔记
  • 原文地址:https://www.cnblogs.com/luomi/p/5744540.html
Copyright © 2011-2022 走看看