使用二分答案,找到最接近第 kkk 个的连续的整数是哪一个。
用 calc(x)calc(x)calc(x) 表示前 xxx 个整数的长度。考虑用 10k10^k10k 作为边界处理,单次 calc(x)calc(x)calc(x) 的计算复杂度是 O(logx)\mathcal O(\log x)O(logx) 的。加上二分是 O(log2V)\mathcal O(\log^2 V)O(log2V)。
找到了最接近的整数,那么往后再找一个就行。把下一个数我们需要的那一位找到就行。
注册一个 CZOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 CZOJ 通用账户