首页 > 其他分享 >数字游戏

数字游戏

时间:2022-09-18 15:12:32浏览次数:103  
标签:pre 10 游戏 nums int res include 数字

原题链接

数位DP

题目描述:计算[l,r]区间中的非下降数的个数
不降数:从高位到低位上各位数字呈非下降关系:如123,446

1081.度的数量.jpg
直接上代码

Code

#include <iostream>
#include <cstring>
#include <vector>

const int N = 15;

// f[i][j]表示共有i位,且最高位位j的数的个数
int f[N][N];

void init() {
    for (int i = 0; i <= 9; i ++ ) f[1][i] = 1;
    for (int i = 2; i < N; i ++ )
        for (int j = 0; j <= 9; j ++ )
            for (int k = j; k <= 9; k ++ )
                f[i][j] += f[i - 1][k];
}

int cal(int n) {
    if (!n) return 1;
    std::vector<int> nums;
    while (n) nums.push_back(n % 10), n /= 10;
    
    int res = 0, pre = 0; // pre记录上一位数是几
    for (int i = nums.size() - 1; i >= 0; i -- ) {
        int x = nums[i];
        // 左分支,当然不能从0开始,要大于等于上一个数才可以
        // 此时方案数就是i+1位,最高位为j
        for (int j = pre; j < x; j ++ ) res += f[i + 1][j];
        // x<pre表示当前节点不存在右分支,直接break
        if (x < pre) break;
        pre = x; // 更新上一个数
        // 如果走到最后一个数,说明n本身就是个非下降数,合法方案数加1
        if (!i) res ++ ; 
    }
    
    return res;
}

int main() {
    init();
    
    int l, r;
    while (std::cin >> l >> r) std::cout << cal(r) - cal(l - 1) << '\n';
    return 0;
}

标签:pre,10,游戏,nums,int,res,include,数字
From: https://www.cnblogs.com/zjh-zjh/p/16704821.html

相关文章

  • 罗马数字转阿拉伯数字
    1.罗马数字是位置计数吗?并不是。位置计数中数的值是数位和位值的乘积,而罗马数字的计数方法为:罗马数字有八个字母:IVX LCDM,分别表示1、5、10、50、100、500、1000......
  • 报告分享|中国音数协游戏工委:2022中国移动游戏市场广告营销报告
    全文链接:http://tecdat.cn/?p=28490中国音数协游戏工委、中国游戏产业研究院、京师游戏研究实验室、CC-Smart新传智库、腾讯广告共同发布《2022中国移动游戏市场广告营销......
  • 报告分享|益普索Ipsos:2022医疗行业数字化营销蓝皮书
    全文链接:http://tecdat.cn/?p=28492 01 、走到哪:医疗企业进行数字化营销转型的前提条件和发展环境日臻完善,但医疗行业数字化营销目前的能力和现处的阶段尚不足以完全支......
  • Airtest+Poco多设备并发自动化游戏测试框架(遇到的问题)
    项目:基于unity3d项目涉及相关模块:关卡,战斗,商城,装备,强化,天赋等记录:Airtest+poco+pycharm自动化游戏测试过程中发现的问题以及解决的方法目标:自动化打包安装,多机器并发测......
  • 京东数字化转型
    数字化转型是这几年很流行的一个概念,我们也听到有很多大厂已经转型或者正在转型,今天用140页屁屁踢带大家了解一下京东的数字化转型方法论,希望对大家有帮助。 一、企......
  • 最火小游戏《羊了个羊》最新H5升级通关版
    背景最近大火的微信小游戏《羊了个羊》刷爆朋友圈和群聊,大家都在搜索羊了个羊第二关怎么过、羊了个羊通关秘籍。这款小游戏实在难度太高,及其容易上瘾,而且很多朋友怎么也通......
  • 简单的 JavaScript 数字格式化方法
    简单的JavaScript数字格式化方法每个大型社交媒体网站都以与93.1K追随者、100万订阅者或2.5B浏览量相同的方式格式化他们的数字,他们这样做是因为用紧凑的数字设计......
  • 罗马数字转阿拉伯数字
    罗马数字不是位置计数法。缺点是:按照这种方法记较大的数十分冗长,不利于满足人们便捷的需要。而且书面计算更加复杂,不利于计算,故一般不通用。学号转换:2022→MMXXII  ......
  • VUE 如何格式化数字
    在一个VUE的项目中,前端数字被显示为下面的长格式。  这个格式显然不是我们想要的。我们需要将这一串数组进行格式化。问题和解决我们可以使用函数来进行解决。......
  • Unity游戏在腾讯应用宝和小米应用商店因SDK获取已安装APP信息被退回的问题处理
    Unity游戏在腾讯应用宝和小米应用商店因SDK获取已安装APP信息被退回的问题处理---------暂时抛出该问题,等Unity官方回复或解决,暂时无解-------------APP前台运行时行为......