1 条题解

  • 0
    @ 2026-9-9 9:03:19

    题解

    思路

    令 st,is_{t,i} 表示前 tt 次操作对第 ii 项累计增加的数值。

    做法

    任意时刻保持 Ai<Ai+1A_i<A_{i+1} 等价于初始时满足 Ai+(st,i−st,i+1)<Ai+1A_i+(s_{t,i}-s_{t,i+1})<A_{i+1}。因此对每个相邻位置,只需令 ci=max⁡t(st,i−st,i+1)c_i=\max_t(s_{t,i}-s_{t,i+1}),其中初始时刻保证 ci≥0c_i\ge0;所有约束合并为 Ai+1≥Ai+ci+1A_{i+1}\ge A_i+c_i+1。

    最小方案显然取 A1=1A_1=1,随后令每个不等式取等。处理一次对位置 pp 的加法时,差值 pp 增加 xx,差值 p−1p-1 减少 xx,只需更新这两个差值及其历史最大值。最后从左到右构造最小 AA 并累加。

    复杂度

    时间复杂度为 O(N+Q)O(N+Q),空间复杂度为 O(N)O(N),答案使用 64 位整数。

    • 1

    信息

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