首先学习一下数位dp,并且先知道一下这个题:洛谷P2602
知道了这个题,很容易我们可以想到可以二分答案。check的时候,只需要min(i出现的次数,i∈[0,9]) 和 k的关系即可。
小红是一个数学家,他喜欢研究各种数学问题。有一天,他在数数时想到了这个问题。给定一个正整数序列,从前往后进行数数: 1,2,3,4,5,6,7,8,9,10,11,…。
试求当小红数到多少时,0到9每个数字各出现了至少 k 次。
其中,我们定义“数字”为十进制下的数位,例如,3233出现了三个’3’和一个2。
共有 t 组询问,每组询问都是独立的。
第一行输入一个正整数t,代表询问的次数。 接下来的t行,每行输入一个正整数k,代表一次询问。
1≤t≤1000,1≤k≤1013
输出t行,每行输出一个整数,代表每次询问的答案。
输入
3
1
11
20
输出
10
100
109
说明: 在第1组询问中,当数到10时,0到9每个数至少出现了1次。