LOADING

加载过慢请开启缓存 浏览器默认开启

数位DP

2024/9/13

[ZJOI2010] 数字计数

题目描述

给定两个正整数 $a$ 和 $b$,求在 $[a,b]$ 中的所有整数中,每个数码(digit)各出现了多少次。

输入格式

仅包含一行两个整数 $a,b$,含义如上所述。

输出格式

包含一行十个整数,分别表示 $0\sim 9$ 在 $[a,b]$ 中出现了多少次。

样例 #1

样例输入 #1

1 99

样例输出 #1

9 20 20 20 20 20 20 20 20 20

提示

数据规模与约定

  • 对于 $30\%$ 的数据,保证 $a\le b\le10^6$;
  • 对于 $100\%$ 的数据,保证 $1\le a\le b\le 10^{12}$。

分析:

设dp_i表示在不考虑前导零,满i位(<10^i)时一种数出现了多少次

对于前i位:

1.前导零合法时,0~9的数量都相同:对于dp_i=dp_{i-1}*10