2 条题解
-
0
官方题解在干什么啊???
首先注意到一个数如果位数能更小,取更小总是更优的。
那么具体能多小呢?
首先,显然如果 的位数 的位数,则有 。设 为 的位数,则显然有 。
紧接着,考虑到如果位数是相同的,则 的大小关系和它们的字典序大小关系一致。于是如果有 ,则有 。
求出 后,直接按找字典序贪心地取最小字典序即可。正确性显然:
- 依据 的构造,可以保证 ;
- 由于单个数时 相同,故字典序最小时就是最小的。
那么如何取最小字典序?这一个数的 比前面的大,那么直接补 即可;否则,需要在最后一位上 。前面的位都不用变。
可以直接单调栈维护,时间复杂度 ,把 std 的四毛子 按在地上摩擦。
信息
- ID
- 273
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- 递交数
- 8
- 已通过
- 3
- 上传者