AGC056B Range Argmax

考虑相反对应,发现映射可能不是单射。

取字典序最大的一个就可以保证唯一。

或者按照官方题解所说,可以从大到小从左到右依次填入,能填必须填,这样的方案就保证唯一。

所以我们统计所有排列 $p$ 的数量。

然后考虑区间 dp ,再考虑限制条件,依旧按照区间 dp 的惯用做法做出 $f_{l,r}$ 后考虑合并。

不过在这里我们需要多记录一个维度,记录 $f_{l,r,k}$ 为在区间 $[l,r]$ 中最大值的位置 $\le k$ 。

现在我们要记录最大值位置等于 $k$ 的答案,发现他可以递归成两个问题。

右区间不受到限制,但是左区间受到一定限制。

我们考虑只要让 $k$ ,$k+1$ ,在同一个某个区间里那么排列唯一的条件是必要的。

若不在,将这两个位置的值交换他们的排列不变。

所以放 $k$ 时需要将其放在 $k+1$ 所在所有区间的最左边的右边。

posted @ 2022-05-16 13:50  Qzong  阅读(82)  评论(0编辑  收藏  举报