题目传送门 题目大意 给出一个长度为 \(n\) 的排列 \(a_{1,2,...,n}\) 以及常数 \(k\),每次可以交换两个数 \(a_i,a_j\) 当且仅当 \(j-i\ge k \text{ and } |a_i-a_j|=1\) ,问最小能变成的最小字典序的 \(a\) 序列. \(n\le 5\times 10^5\) 思路 首先很重要的一点是,我们肯定得把题目转换一下,不然 \(j-i\ge k\) 这个条件太难用了.我们其实可以设 \(p_i\) 表示元素 \(i\) 所在…