先构造使得$p_{i}$降序(即$p_{i}=n-1-i$),只需要从后往前,不断执行$i$操作直至合法即可 正确性的证明:首先保证了$[0,n-i)$这些数字都已经出现,因此操作不会破坏已确定的数字的顺序 同时,一个数字不会重复出现,因为若要与其交换后的位置再交换,仍需要其本身,显然不可能 (特别的,对于0由于已经会在$n-1$上出现,因此不需要考虑) 由于每一个位置上每一个数至多出现1次,因此至多$n^{2}$次操作即可 再考虑如何把顺序调回来,先将一个后缀排好,然后考虑插入一个数$i$(后…