1 条题解

  • 0
    @ 2026-9-9 8:57:13

    题解

    思路

    二分最终最小值 xx。

    做法

    若 Ai<xA_i<x,至少需要对它执行 ⌈x−Aia⌉\left\lceil\frac{x-A_i}{a}\right\rceil 次增加;若 Ai≥xA_i\ge x,它最多能承受 ⌊Ai−xb⌋\left\lfloor\frac{A_i-x}{b}\right\rfloor 次减少而仍不低于 xx。每次操作恰好使用一次增加和一次减少,因此当所有可提供的减少次数不少于所需增加次数时,xx 可行;反之任何操作方案都无法补足缺口。这个判定关于 xx 单调,故可在初始最小值到初始平均值之间二分最大可行值。

    复杂度

    判定一次需要 O(N)O(N) 时间,二分次数为 O(log⁡109)O(\log 10^9),总时间复杂度为 O(Nlog⁡109)O(N\log 10^9),空间复杂度为 O(N)O(N);次数总和使用 64 位整数保存。

    • 1

    信息

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