传送门
废话:这道题和当初队长他们去电子科技大学的校赛A题几乎是一样,这道题没有挂在他们的OJ上,无意之间发现了这道题,赶紧补一下。这道题的做法也太多了吧。。。。。分块会板子(这道题不会),CDQ分治不会,只会大佬说的动态主席树板子题,然后拿来改一下就能过了。。。
解题思路:求解逆序数,我们常常用到树状数字来解决。对于每一个数num[i]对逆序数的贡献:
或者是,对于删掉每一个数,我们只需要将他的贡献删除掉即可。
我们利用树状数组+主席树来维护状态即可。每次删除除掉一个数,就将他涉及到的每棵树都给更新一下,每次答案更新就是减去区间[ 1 ,i ]大于X值的个数和区间[ i ,n ]小于X值得个数。
注意事项:因为是树套树,注意内存的大小,用快读(我T在了最后一组数据,可能常数太大了,太菜了)
代码:
///#include
///#include
///#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include