题目大意:给出n个数的序列,每次可以交换相邻的两个数,问把序列变成编号i在编号i+1左边,编号1在编号n右边(一个环)最少需要多少步.如:35421最少交换两次变为34512. 一开始看到这题,只会O(n²),后来仔细想了一下,妙啊,妙不可言. 首先我们求出逆序对,即为这个序列变成升序排列的最小次数,问题就在于23451这类的怎么求了.突然,灵稽一动,我们只要把1改成6,然后就可以算出23456的答案,即23451的答案.至于方法,就是我们通过原序列逆序对数量减去1产生的逆序对数量,然后加上给序…