牛客 - tokitsukaze and Inverse Number(树状数组+逆序对定理)
生活随笔
收集整理的這篇文章主要介紹了
牛客 - tokitsukaze and Inverse Number(树状数组+逆序对定理)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個長度為 n 的排列 a,需要執行 q 次操作,每次操作會將區間 [ l , r ] 內的數循環右移 k 次,現在需要回答每次操作后排列的逆序對數,只需要回答奇偶即可
題目分析:首先需要知道逆序對定理,也就是對于一個排列來說,交換任意一對數都會改變逆序對的奇偶,證明如下:
又因為將區間 [ l , r ] 內的數字循環右移一次用 r - l 次對換一定是可以完成的,所以記錄一下每次操作共需要多少次對換次數,就可以快速更新逆序對的奇偶關系了
當然最初始的逆序對用樹狀數組或者其他的算法隨便做做就能求出來了
代碼:
?
?
總結
以上是生活随笔為你收集整理的牛客 - tokitsukaze and Inverse Number(树状数组+逆序对定理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 946E La
- 下一篇: CodeForces - 987E Pe