题目描述 给定两个整数 l 和 r ,对于所有满足1 ≤ l ≤ x ≤ r ≤ 10^9 的 x ,把 x 的所有约数全部写下来。对于每个写下来的数,只保留最高位的那个数码。求1~9每个数码出现的次数。 题解 首先问题可以转化为solve(r)-solve(l-1)的形式那么考虑如何求1~x中满足题意的数量既然要求高位,那么我们可以枚举这个最高位,可以看做[1,2),[10,20),[100,200)这样的形式来算1的数量即,我们要求每个区间里的每个数的倍每个倍数<x的数量,那么对于一个数i,它的倍数<x的数量为 ceil(x/i);所以问题就转化为对每个区间的sigma(ce...