动态规划(数位统计Dp)

news2024/11/17 19:49:11

AcWing 338. 计数问题  

思路分析:

代码展示: 

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

using namespace std;

//10的x次方
int pow10(int x)
{
    int res = 1;
    while(x --) res *= 10;
    return res;
}
int get(vector<int> num, int l, int r)
{
    int res = 0;
    
    for (int i = l; i >= r; i --)
        res = res * 10 + num[i];
    return res;
}
int count(int n, int x)
{
    //当n == 0时
    if (!n) return 0;
    
    vector<int> num;
    //把每一位数存到数组中去
    while (n)
    {
        num.push_back(n % 10);
        n /= 10;
    }
    
    n = num.size();
    int res = 0;
    //枚举每一位
    //当x为0时,因为0不会出现在最高位高位不用枚举,所以直接从第二位开始枚举
    for (int i = n - 1 - !x; i >= 0; i --)
    {
        //第一种情况    当只有一位数时,不可能出现第一种情况
        if (i < n - 1)
        {
            res += get(num, n - 1, i + 1) * pow10(i);
            //当x == 0时,x左边的位数需要从1开始枚举,但是第一种情况是从0开始枚举,所以需要处理一下细节
            if (x == 0) res -= pow10(i);
        }
        //第二种情况    
        if (x < num[i]) res += pow10(i);
        else if (x == num[i]) res += get(num, i - 1, 0) + 1;
    }
    return res;
}
int main()
{
    while (true)
    {
        int a, b;
        cin >> a >> b;
        if (a == 0 && b == 0) break;
        
        if (a > b) swap(a, b);
        
        for (int i = 0; i < 10; i ++)
            cout << count(b, i) - count(a - 1, i) << ' ';
            
        cout << endl;
    }
    
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1138846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NIO和BIO编程

一、网络通信编程基本常识 1、什么是Socket&#xff1f; Socket是应用层与TCP/IP协议族通信的中间软件抽象层&#xff0c;它是一组接口&#xff0c;一般由操作系统提供。 2、短连接 短连接是指socket建立连接之后传输数据确定接收完后关闭连接 3、长连接 长连接是指建立so…

全新高速HID调试工具

全新高速 HID 调试工具&#xff0c;程序袁USB开发利器 支持一下特性&#xff1a; 支持高速USB自适应HID报告长度自动定时发送内置CRC小工具自定义显示 高速USB HID调试工具下载

Pytorch - 数据增广

增加一个已有数据集&#xff0c;使得有更多的多样性 在语言里面加入各种不同的背景噪音改变图片的颜色和形状 翻转 左右翻转上下翻转 但是并不总是可行的。 切割 从图片中切割一块&#xff0c;然后变形到固定形状 随机高宽比随机大小随机位置 颜色 改变色调、饱和度、明…

HackTheBox-Starting Point--Tier 0---Preignition

文章目录 一 题目二 实验过程 一 题目 Tags Web、Custom Applications、Apache、Reconnaissance、Web Site Structure Discovery、Default Credentials译文&#xff1a;Web、定制应用程序、Apache、侦察、网站结构发现、默认凭证Connect To attack the target machine, you …

【软件教程】如何用C++检查TCP或UDP端口是否被占用

一、检查步骤 使用socket函数创建socket_fd套接字。使用sockaddr_in结构体配置协议和端口号。使用bind函数尝试与端口进行绑定&#xff0c;成功返回0表示未被占用&#xff0c;失败返回-1表示已被占用。 二、CODE 其中port需要修改为想要检测的端口号&#xff0c;也可以将代码…

eslint提示 xxx should be listed in the project's dependencies

有时候手动安装了一个npm包A&#xff0c;npm包A里面包含了npm包B&#xff0c;这时候如果 import xxx from npm包B;eslint会报错&#xff0c;提示 npm包B 不在 package.json 里面 解决方法&#xff1a;在 eslintrc.js 增加配置 module.exports {rules: {import/no-extraneous-d…

Linux常见问题解决操作(yum被占用、lsb无此命令、Linux开机进入命令界面等)

Linux常见问题解决操作&#xff08;yum被占用、lsb无此命令、Linux开机进入命令界面等&#xff09; 问题一、新安装的Linux使用命令lsb_release提示无此命令&#xff0c;需先安装再使用 Linux安装lsb命令 lsb是Linux Standard Base的缩写&#xff08;Linux基本标准&#xff…

springboot的缓存和redis缓存,入门级别教程

一、springboot&#xff08;如果没有配置&#xff09;默认使用的是jvm缓存 1、Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法&#xff0c;从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明地应用的&#xff0c;对调用者没有任何干扰。只要使用…

cocosCreator 之localStorage本地存储和封装拓展

版本&#xff1a; 3.8.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac 简介 在cocosCreator中&#xff0c;针对于本地存储主要使用localStorage接口&#xff0c;通过key-value的格式进行存储和读取数据。 主要接口有&#xff1a; 接口描述setItem(key, value)保存指定…

Spring Security —漏洞防护—跨站请求伪造(CSRF)

在终端用户可以 登录 的应用程序中&#xff0c;必须考虑如何防止 跨站请求伪造&#xff08;CSRF&#xff09;。 Spring Security 默认为 不安全的HTTP方法&#xff08;如POST请求&#xff09;提供CSRF攻击防护&#xff0c;因此无需额外代码。你可以使用下面的方法明确指定默认…

今年天猫双11,打响电商AI时代第一枪

自阿里提出双11以来&#xff0c;今年已是第15个年头。在这15年间&#xff0c;双11见证了中国电商的发展轨迹&#xff0c;从野蛮生长、完善体验到重质重效。如今&#xff0c;在双11的见证下&#xff0c;中国电商的进化正悄然发生。 一些新的变化值得关注。“最值得买的电视”&a…

系列六、FactoryBean vs ApplicationContext

一、FactoryBean vs ApplicationContext 1.1、概述 BeanFactory是一个工厂类&#xff0c;负责生产和管理bean&#xff0c;在Spring中BeanFactory是IOC容器的核心接口&#xff0c;它的主要职责就是生产bean及建立各个bean之间的依赖。applicationContext是BeanFactory的一个子接…

Go 的连接池、重试和超时

这是一个来自 API 的间歇性 500 个内部服务器错误的故事&#xff0c;这些错误最终是由 Go 包中的硬编码常量引起的database/sql。我将主要为您省去冗长的故事&#xff0c;并直接讨论问题以及我们发现的原因。我们注意到来自特定 API 端点的 500 错误数量有所增加&#xff0c;并…

网络协议--BOOTP:引导程序协议

16.1 引言 在第5章我们介绍了一个无盘系统&#xff0c;它在不知道自身IP地址的情况下&#xff0c;在进行系统引导时能够通过RARP来获取它的IP地址。然而使用RARP有两个问题&#xff1a;&#xff08;1&#xff09;IP地址是返回的唯一结果&#xff1b;&#xff08;2&#xff09;…

目前最优的非蒸馏、可商用的开源大模型!MIT-IBM 提出鲑鱼模型!

作者 | 谢年年、ZenMoore 今年上半年&#xff0c;IBM 加入大模型战局&#xff0c;提出了一种使用原则(Principle)驱动的、基于 LLM Self-Instruct 的全新方法&#xff1a;SELF-ALIGN &#xff08;自对齐&#xff09;&#xff0c;并以开源LLaMA为基础&#xff0c;用不到300行&am…

el-table(vue2中)滚动条被固定列盖住

一、项目场景&#xff1a; vue2 el-table 二、问题描述 1、现场图片&#xff1a; 2、全局css环境配置了滚动条高度为6px /* 全局滚动条配置 */ ::-webkit-scrollbar {width: 6px;height: 6px; }::-webkit-scrollbar-track {background-color: #f1f1f1; }::-webkit-scrollbar-…

机器学习2(Numpy)

1、numpy ndarray 案例演示 可以在创建的时候就指定元素类型 生成0/1数组 从现有数组中生成 生成固定数组 生成随机数组

软考系统架构之案例篇(架构设计相关概念)

案例篇-架构设计相关概念 1. 架构风格的概念2. 五大架构风格有哪些3. MVC架构含义4. 云计算架构5. 云原生架构设计原则6. ESB的主要功能包括7. 质量属性的含义及其设计策略8. EJB中的 Bean 分三种类型9. 风险点、敏感点、权衡点的含义10. REST 的5个原则 1. 架构风格的概念 软…

GO 语言的函数

函数是什么&#xff1f; 学过编程的 xdm 对于函数自然不会陌生&#xff0c;那么函数是什么呢&#xff1f; 函数是一段可以重用的代码块&#xff0c;可以被多次调用&#xff0c;我们可以通过使用函数&#xff0c;提高咱们代码代码的模块化&#xff0c;提高程序的可读性和可维护性…

vite vue3 ts 全局封装自定义svg组件,全局引入

1.安装vite-plugin-svg-icons插件 yarn add vite-plugin-svg-icons -D 2.配置vite.config.ts文件&#xff0c;配置插件 import path from path import { createSvgIconsPlugin } from vite-plugin-svg-iconsplugins: [vue(),// 配置svg createSvgIconsPlugin({// 指定需要缓…