当前位置: 首页 > news >正文

计数问题(数位DP)

题目大意:给定一个区间,求该区间内0 ~ 9出现的次数,多次询问,以0 0结束询问

测试用例:

输入:
1 10
44 497
346 542
1199 1748
1496 1403
1004 503
1714 190
1317 854
1976 494
1001 1960
0 0

输出:

1 2 1 1 1 1 1 1 1 1
85 185 185 185 190 96 96 96 95 93
40 40 40 93 136 82 40 40 40 40
115 666 215 215 214 205 205 154 105 106
16 113 19 20 114 20 20 19 19 16
107 105 100 101 101 197 200 200 200 200
413 1133 503 503 503 502 502 417 402 412
196 512 186 104 87 93 97 97 142 196
398 1375 398 398 405 499 499 495 488 471
294 1256 296 296 296 296 287 286 286 247

 

#include <iostream>
#include <vector>
using namespace std;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 power10(int k) {int res = 1;while(k--)res *= 10;return res;
}int count(int n, int x) {if(!n)  return 0;vector<int> num;while(n) {num.push_back(n % 10);n /= 10;}n = num.size();int res = 0;for(int i = n - 1 - !x; ~i; i--) {if(i < n - 1) {res += get(num, n - 1, i + 1) * power10(i);if(!x)  res -= power10(i);}if(num[i] == x) res += get(num, i - 1, 0) + 1;else if(num[i] > x)    res += power10(i);}return res;
}int main() {int a, b;while(cin >> a >> b, a || b) {if(a > b)   swap(a, b);for(int i = 0; i <= 9; i++)cout << count(b, i) - count(a - 1, i) << " ";cout << endl;}return 0;
}
http://www.lryc.cn/news/253546.html

相关文章:

  • SQL Server事务(Transaction)
  • Python语言基础学习大纲(由某大模型生成)
  • nodejs+vue+微信小程序+python+PHP天天网站书城管理系统的设计与实现-计算机毕业设计推荐
  • 工业机器视觉megauging(向光有光)使用说明书(十二,轻量级的visionpro)
  • HarmonyOS学习--了解基本工程目录
  • JRT导出协议实现
  • Unity中动态合批
  • 逆水行舟!浅谈24届双非本科秋招
  • vue3请求代理proxy中pathRewrite失效
  • 练习题——-【学习补档】日期差值
  • 面试问题 --文件描述符和流
  • 离线安装Zabbix的MariaDB报Error: Package: 1:mariadb-server-5.5.68-1.el7.x86 64异常解决方法
  • 【go语言开发】go项目打包成Docker镜像,包括Dockerfile命令介绍、goctl工具生成
  • Python:可以做什么?
  • Lookup Argument简史
  • 【unity3D】Transform组件(如何访问和获取Transform组件)
  • 单实例应用程序
  • Qlik 成为网络犯罪的焦点
  • 1+X Web 前端开发职业技能等级证书模拟题(中级)理论知识
  • 2023.12.4 关于 Spring Boot 统一异常处理
  • 企业网络安全守护者:EventLog Analyzer日志审计系统
  • 剪映最新版的4.9,主要更新的功能(于2023年12月2日发布)
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis核心配置详解
  • maven-profile
  • 用python找到音乐数据的位置,并实现音乐下载
  • MATLAB算法实战应用案例精讲-【图像处理】边缘检测(补充篇)(附MATLAB代码实现)
  • 黑马头条数据管理平台项目总结
  • IDEA中,光标移动快捷键(Shift + 滚轮前后滚动:当前文件的横向滚动轴滚动。)
  • 对标Gen-2!Meta发布新模型,进军文生视频赛道
  • zabbix的自动发现机制、代理功能、SNMP监控