Link
签到题。
对于查询操作,有一个显而易见的结论,每次冒泡排序每个位置上的逆序对都会减少一个,如果有的话。所以先用树状数组求出每个位置逆序对的个数 d d d。那么答案为 ∑ i = 1 n max { d − k , 0 } \sum_{i=1}^n \max \{ d - k, 0 \} ∑i=1nmax{d−k,0}。
对于修改操作,交换两个数对其它数和它们的相对关系是没有影响的。所以维护一个单点修改,区间查询的线段树即可。
Waiting