题目:对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。
思路:如果倒着看的话,就变成了插入操作,第一个删除的数使最后一个插入的数,我们用来表示每个插入操作,x表示插入位置,y表示插入的数,t表示插入的时间,对时间进行二分操作,每次保证左边区间的时间都小于右边区间的时间,并且每个区间的x都是递增的
_left[i]表示第i次操作后,和左边的数新构成的逆序对的对数
_right[i]表示第i次操作后,和右边的数新构成的逆序对的对数
代码:
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include
#include
#include
#include
#include
#include
#include
#include
#include