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,加上一個數與減去一個數奇偶性相等。

相關文章
相關標籤/搜索