题目大意:多个询问,每个询问问$[l,r](1\leqslant l\leqslant r\leqslant10^{18})$内有多少个数满足非零数位小于等于$3$。

题解:数位$DP$,$f_{i,j}$表示在第$i$位,有$j$个数位不是$0$的方案数

卡点:

C++ Code:

#include <cstdio>
#include <cstring>
int Tim, num[20];
long long M[5][20];
long long run(int x, int cnt, int lim) {if (cnt > 3) return 0;if (!x) return 1;if ((~M[cnt][x]) && !lim) return M[cnt][x];long long ans = 0;for (int op = lim, i = lim ? num[x] : 9; ~i; i--, op = 0) {ans += run(x - 1, cnt + bool(i), op);}if (!lim) M[cnt][x] = ans;return ans;
}
long long solve(long long x) {int len = 0;while (x) {num[++len] = x % 10;x /= 10;}return run(len, 0, 1);
}
int main() {scanf("%d", &Tim);memset(M, -1, sizeof M);while (Tim --> 0) {long long l, r;scanf("%lld%lld", &l, &r);printf("%lld\n", solve(r) - solve(l - 1));}return 0;
}

  

转载于:https://www.cnblogs.com/Memory-of-winter/p/9744644.html

[CF1036C]Classy Numbers相关推荐

  1. 3.3-3.9 周记

    3.3-3.10 1. NIM游戏 百度链接:https://baike.baidu.com/item/Nim%E6%B8%B8%E6%88%8F/6737105?fr=aladdin 定义: P局面 ...

  2. linux与linux传文件乱码,关于Linux与windows传递文件乱码问题

    linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码.所以导致中文编码会乱码.要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦. ...

  3. usaco ★Humble Numbers 丑数

    ★Humble Numbers 丑数 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于 S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p ...

  4. Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers

    參考:http://www.cnblogs.com/chanme/p/3843859.html 然后我看到在别人的AC的方法里还有这么一种神方法,他预先设定了一个阈值K,当当前的更新操作数j<K ...

  5. iwork11旗舰版 linux,苹果 iWork 11 套件来了,Pages/Numbers/Keynote iOS/macOS 版大升级

    IT之家3月24日消息 苹果今天专为 iOS 和 macOS 设备设计的 iWork 应用套件更新到了版本 11,引入了许多新功能和调整,以改善其功能. IT之家获悉,在 iOS 系统上,Pages. ...

  6. pandas使用extract函数根据正则表达式从dataframe指定数据列的字符串中抽取出数字并生成新的数据列(extract numbers from column)

    pandas使用extract函数根据正则表达式从dataframe指定数据列的字符串中抽取出数字并生成新的数据列(extract numbers from column and generate n ...

  7. pandas创建内容全是0的dataframe、pandas基于随机整数、随机浮点数创建dataframe(random numbers)

    pandas创建内容全是0的dataframe.pandas基于随机整数.随机浮点数创建dataframe(random numbers) 目录 pandas创建内容全是0的dataframe.pan ...

  8. LeetCode 421. Maximum XOR of Two Numbers in an Array--Python解法

    LeetCode 421. Maximum XOR of Two Numbers in an Array–C++,Python解法 LeetCode题解专栏:LeetCode题解 我做的所有的Leet ...

  9. LeetCode 445. Add Two Numbers II--面试算法题--C++,Python解法

    题目地址:Add Two Numbers II - LeetCode You are given two non-empty linked lists representing two non-neg ...

最新文章

  1. C语言函数集(十三)
  2. faster rcnn的源码理解(一)SmoothL1LossLayer论文与代码的结合理解
  3. Android dex分包方案 (多dex)
  4. sublime编辑器下载与安装过程 2020
  5. linux-获取帮助-ls命令-date命令-man命令
  6. 2014年值得关注的10个开源项目 上
  7. PAT 1012 数字分类 (20)
  8. 选择文件夹里指定文件图片路径_这简直是鼠标一拖,自动帮你整理好文件
  9. jmeter 控制偏离_Jmeter 笔记(1)-安装 基本组件
  10. 不等式解集怎么取_6.初中数学:一个不等式的解集,都是另一个不等式的解,求a的取值范围?...
  11. 嵩天python测验_考试 嵩天老师 :测验3: Python语法程序与设计(第3周)
  12. eclipse导入静态网页模板+搭建springboot环境示例+细节问题解决(详细)
  13. 局域网联机_红警如何局域网联机?详细联机教程,方法特别简单
  14. 动态范围Bitmap的参考实现
  15. IoT僵尸网络Miori通过ThinkPHP远程代码执行漏洞进行传播
  16. word输入(a)一敲空格就变自动编号
  17. 解决fatal: could not get a repository handle
  18. cad2011 2010闪退问题
  19. 传销——从数学游戏到经济邪教
  20. 自己交社保的手机APP

热门文章

  1. 4.6 Routing -- Rendering A Tempalte
  2. iOS中几种定时器 - 控制了时间,就控制了一切
  3. Aptana Studio 3 汉化简体中文版
  4. 几种身份的创业者优劣势大比拼
  5. 算法试题 - 找出字符流中第一个不重复的元素
  6. spring架构整理
  7. quinlan的C4.5编译
  8. TypeError: 'dict' object is not callable
  9. 深度学习(四十四)——GAN的评估指标, DCGAN, WGAN-GP, CGAN, BEGAN EBGAN
  10. 稀疏表达:向量、矩阵与张量(中)