ARC114F Permutation Division

题意 : 给出排列

Alice 需要将 划分为恰好 个连续区间,然后 Bob 将它们重新排列并拼接,得到排列

Alice 时希望 的字典序最小,B 希望 的字典序最大,求最终得到的

,时限


Bob 的策略显然是按照每一段的第一个数从大到小排序。

注意到 一定是一段的开头,分类讨论。

此时 A 分段的开头一定是 ,这可以使得 ,其他方法都会使得

此时其他段的首位都必须 ,这样才能使得 ,显然这是下界。

显然 的字典序要大于 ,我们可以先考虑最大化 的最长公共前缀长度。

二分这个长度 ,考虑如何判定。

可以在 内切分出 段,满足开头是下降子序列(这样就会保持原序),记最后一段的开头是 ,则需在 后面切分出 段,要满足每段开头均

表示以 结尾(以 开头)的最长下降子序列,枚举 判,数 后面 的元素个数,看看是否 即可判定。

得到 之后,需要最小化之后的排列。

继续考虑上述策略,对于(合法的) ,我们在 后面的决策显然是找最小的 个元素作为开头,其中第 小的就是下一位。

最小化 的值之后,策略已经确定。

复杂度

  • 总结:在字典序问题中,对方案的一部分进行最大化,即可确定(强力约束)决策。