codeforces911D Inversion Counting 求逆序数+小trick

题意:

给你一个1——N的排列,有M次询问,每次询问给出l,r也就是reverse[l,r]区间后,逆序对是奇数个仍是偶数个。

题解:

这个题暴力是不行的。

咱们考虑最早求出的逆序数有res个,而后进行转移。咱们假设reverse后这段区间新获得了tmp个逆序对,而除此以外的其余区间的逆序对个数不受影响。那么

res=res+tmp-(len*(len-1)/2 - tmp)

      =res+2*tmp-len*(len-1)/2

那么咱们是否是只要算出tmp就好了呢?

根本不用,tmp*2根本不改变奇偶性!

对这些东西要敏感啊。

1.加上一个偶数不改变奇偶性。

2,加上一个数与减去一个数奇偶性相等。

相关文章
相关标签/搜索