zoukankan      html  css  js  c++  java
  • [LOJ10164]数字游戏

    题目描述

    科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 。现在大家决定玩一个游戏,指定一个整数闭区间 ,问这个区间内有多少个不降数。

    输入格式

    有多组测试数据。每组只含两个数字 ,意义如题目描述。

    输出格式

    每行给出一个测试数据的答案,即  之间有多少不降数。

    样例

    样例输入

    1 9
    1 19
    

    样例输出

    9
    18

    一道简单的数位dp模板题
     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstdio>
     4 #include<cstring>
     5 using namespace std;
     6 long long a[105],l,r,dp[105][15];
     7 int dfs(int pos,int l,bool flag)
     8 {
     9     if(pos==0) return 1;
    10     if(!flag&&dp[pos][l]!=-1) return dp[pos][l];
    11     int tmp=0;
    12     int t;
    13     if(flag) t=a[pos];
    14     else t=9;
    15     for(int i=l;i<=t;i++) tmp+=dfs(pos-1,i,flag&&i==t);
    16     if(!flag) dp[pos][l]=tmp;
    17     return tmp;
    18 }
    19 long long solve(int x)
    20 {
    21     int num=0;
    22     while(x>0)
    23     {
    24         num++;
    25         a[num]=x%10;
    26         x/=10;
    27     }
    28     return dfs(num,0,true);
    29 }
    30 int main()
    31 {
    32     while(~scanf("%lld %lld",&l,&r))
    33     {
    34         memset(dp,-1,sizeof(dp));
    35         printf("%lld
    ",solve(r)-solve(l-1));
    36     }
    37 }
     
  • 相关阅读:
    About learn《The C programming Language,Second Edition》
    Reproduction CVE_2019_0708
    Hello universe!
    WebSessionStore: Could not obtain reference to HttpContext
    oracle 触发器
    IE11,用Forms身份验证保存不了Cookie
    水晶报表
    SAP记账期间变式
    SAP会计年度变式
    SAP OB52会计年度变式
  • 原文地址:https://www.cnblogs.com/jiuduSHENBENG/p/11357664.html
Copyright © 2011-2022 走看看