1 条题解

  • 0
    @ 2026-9-9 9:04:35

    题解

    思路

    先把 YY 更新为 min⁡(Y,AX)\min(Y,AX)、把 ZZ 更新为 min⁡(Z,BX)\min(Z,BX),这样两种大步操作都不会比相同增量的单步更差。

    做法

    再交换两种大步,使 Y/A≤Z/BY/A\le Z/B。若使用了至少 AA 次长度为 BB 的操作,就能把其中 AA 次替换成 BB 次长度为 AA 的操作而不增加代价,因此只需枚举前者的次数 0,1,…,A−10,1,\ldots,A-1;固定它后,最优方案会尽量使用长度为 AA 的操作,其余用单步补齐。

    当 ⌊N/A⌋<A\lfloor N/A\rfloor<A 时,改为枚举长度为 AA 的操作次数,并在固定它后尽量使用长度为 BB 的操作。

    复杂度

    两种枚举长度的较小者不超过 O(N)O(\sqrt N),每组测试只需常数空间;所有乘积与答案均使用 64 位整数。

    • 1

    信息

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