1 条题解

  • 0
    @ 2025-8-24 22:54:40

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar ykzzldz
    做自己,别管别人

    搬运于2025-08-24 22:54:40,当前版本为作者最后更新于2024-11-04 14:44:55,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    先给出一个显然的结论,对于一次询问 (p,k)(p,k),若答案不为 00,则有 [pk+1,p][p-k+1,p][p,p+k1][p,p+k-1] 被取完。由于这两部分没有本质区别,我们只讨论右区间的情况。

    首先,若 ap+k<apa_{p+k}<a_p,答案为 00,下面我们不再考虑这种情况。我们设 [p,p+k1][p,p+k-1] 的最大值位置为 pospos,那么在 pospos 左边的数肯定是不能贡献答案的。

    先考虑 ap+k>aposa_{p+k}>a_{pos} 的情况,若从 pospos 右侧开始染色,染色会在 pospos 位置被卡住,也就是说,会先染 [pos+1,p+k1][pos+1,p+k-1] 这一段,所以这一段都能被贡献进答案中。单独考虑 pospos 位置,发现其能被贡献进答案当且仅当区间内 pospos 左侧有一个位置的值大于右侧的所有值,这样可以在这个左侧的位置被卡住。

    再考虑 ap+k<aposa_{p+k}<a_{pos} 的情况,这种情况下只有 pospos 位置可能被贡献进答案。此时,应满足区间内 pospos 左侧有一个位置大于右侧的所有值且区间内除 pospos 位置外其他值都应该比 ap+ka_{p+k} 小,这样才能被 ap+ka_{p+k} 卡住。

    • 1

    信息

    ID
    9053
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    0
    已通过
    0
    上传者