1. 程式人生 > >洛谷P3157 動態逆序對 [CQOI2011] cdq分治

洛谷P3157 動態逆序對 [CQOI2011] cdq分治

spa https 兩個 href show tps 時間 操作 逆序

正解:cdq分治

解題報告:

傳送門! 長得有點像雙倍經驗還麻油仔細看先放上來QwQ!

這題首先想到的就直接做逆序對,然後記錄每個點的貢獻,刪去就減掉就好

但是仔細一想會發現布星啊,如果有一對逆序對的兩個點都被刪了豈不是就減重了嘛

那就再加上一個值

這個值是什麽呢,就是滿足逆序對且逆序對的另一個數的刪除時間小於這個數的數對的個數(,,,有點繞口,,,但應該能get,,,?

然後就做完了,就是個cdq分治

但是這麽想484有點復雜,,,?主要是實現起來想想它要實現哪些東西就jio得代碼估計會比較長,就不想打嘛

那就再轉化一下題意

把刪去操作想成插入操作

那就是從後往前操作,每次會插入一些數,那這個數的貢獻就是滿足插入時間小於它且滿足逆序對的數對的個數

這樣就只要做一遍cdq就好了(其實核心思想是一樣的,,,只是私信jio得這個方法的代碼應該好打一些w

然後等下放代碼QAQ!

洛谷P3157 動態逆序對 [CQOI2011] cdq分治