1 条题解

  • 0
    @ 2026-9-9 8:53:28

    题解

    思路

    设 RiR_i 表示由 ii 个数字 11 组成的整数,那么任意候选答案都可以写成 dRidR_i,其中 1≤d≤91\le d\le 9、1≤i≤N1\le i\le N。

    做法

    不必真的构造这个可能长达十万位的数,只需维护余数:若当前 r=Ri−1 mod Mr=R_{i-1}\bmod M,则 Ri mod M=(10r+1) mod MR_i\bmod M=(10r+1)\bmod M。对每个长度从 99 到 11 检查数位 dd,第一个满足 dr≡0(modM)dr\equiv0\pmod M 的数位就是该长度下的最优选择。

    按长度从小到大扫描,并用每个新发现的合法候选覆盖答案即可,因为位数更多的重复数字一定更大;位数相同时,数位越大越优。最后输出记录的数位和长度,若始终不存在合法候选则输出 −1-1。

    复杂度

    每个长度只检查九个数位,时间复杂度为 O(N)O(N),除输出外额外空间为 O(1)O(1)。

    • 1

    信息

    ID
    1521
    时间
    2000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者