链接:https://vjudge.net/problem/HDU-1394
题意:
给一个由0-(n-1)n个值组成的序列。挨个把首位置的值移到最后一位,求每次的逆序对数,找到最小的那个。
思路:
线段树,对每个值加1方便处理,每来一个新值,查询当前比他大的值的数目。
位移时,因为数组由(0-(n-1))组成,所以每次加上后面比他大的数的个数(n-a[i]),再减去后面比他小的(a[i]-1)。
找到每次的最小值即可。
代码:
#include #include #include #include