曼哈頓交易 題解

2022-05-20 07:23:28 字數 646 閱讀 2724

眾所周知,這是一道莫隊題(雖然可以用主席樹)。

$1e5 $ 的區間且不易用線段樹維護的題可以用莫隊,已經有了 $ o(n \sqrt ) $ 的複雜度,這時再寫各種樹維護會達到 $ o(n \sqrt \log ) $ 的複雜度,畢竟不是所有人都是wys。

事實上多加入/刪除乙個點,就是單點修改,區間查詢的問題,單點分塊即可做到 $ o(1) $ 修改, $ o(\sqrt ) $ 查詢。

最終時間複雜度 $ o(n \sqrt ) $ 。

#includeusing namespace std;

int n,m,a[100010],pos[100010],len,p;

int sz[410],l[410],r[410],bl[100010],sum=0,num[100010];

struct p ;p ask[100010];

int cnt[100010],l=1,r=0,ans[100010];

inline int read()

inline bool cmp(const p &x,const p &y)

for(int i=1;i<=m;i++) printf("%d\n",ans[i]);

return 0;

}

P3730曼哈頓交易 莫隊演算法

題目鏈結 題目大意 乙個區間內有n個數字,有m個詢問,每次詢問乙個區間。回答這個區間的第k大的熱度值。熱度值定義 數字i的熱度值為 這個區間內i的出現次數。權值分塊 莫隊演算法 首先暴力做法 對於每乙個區間,暴力搜尋出每個數字的出現次數,把出現次數push到乙個陣列裡面,尋找到出現次數的第k大的數字...

曼哈頓迴路

acm.sgu.ru problem.php?contest 0 problem 122 1959 年 william rowan hamilton 發明了乙個小玩具,這個玩具是乙個木刻的正十二面體,每面系正五角形,三面交於一角,共 20 個角,沒每個角上標有世界上乙個重要城市。他提出乙個問題 要求...

曼哈頓距離

切雪兒距離距離是什麼?走過象棋的人就知道。這個距離其實就是max x i x j y i y j 就是兩個點之間的垂直距離和水平距離之間的最大的那個 這個就是象棋裡邊的國王和王后走的最短路 還有乙個歐式距離,別人稱之為歐幾里得距離,也就是我們初中高中學習的兩點之間的直線距離,sqrt x1 y1 2...