1 条题解

  • 0
    @ 2026-5-2 12:48:03

    先给出一个显然的结论,对于一次询问 (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
    10301
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者