动态逆序对

题目链接:https://www.luogu.org/problemnew/show/3157

题意

给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。

N<=100000 M<=50000

题解

静态逆序对的一般解法即线段树

此处加入了修改,很显然每次删除只改变了对于a[i]有效的逆序对数

即只需要查询1-(i-1)内a[j]>a[i]的个数,(i+1)-n内。。

其次由于每次的删除操作,需要用树状数组+主席树维护

代码

posted @ 2017-12-03 15:39  尹吴潇  阅读(123)  评论(0编辑  收藏  举报