bzoj3595 方伯伯的oj

2022-05-22 21:57:14 字數 341 閱讀 8890

有$n$個數,一開始是$1~n$,有$m$次操作

1.把編號為$x$的人編號改為$y$,保證$y$沒出現過

2.把編號為$x$的人提到第一名

3.把編號為$x$的人懟到最後一名

4.查詢排名為$x$的人的編號

初始每個人的排名 = 他的編號

sol:

考慮線段樹,在葉子維護乙個值$v$表示這個點上的編號是多少

全域性維護兩個變數lv,rv表示當前編號最小的是lv,最大的是rv

這樣23操作就可以用lv和rv維護了

1操作就是兩個單點修改

4操作就是查詢當前有人的第k個葉子

可以維護乙個size來搞

SCOI2014 方伯伯的OJ

資料範圍 n 108 m 105 n 108 m 105 一眼平衡樹。5分鐘出思路,調了3小時。我們不好直接維護排名的平衡樹,也不好直接維護編號的平衡樹。那就建2 2 顆平衡樹,一棵以編號中序遍歷,一棵以排名中序遍歷,每個節點開pa ir role presentation style positi...

bzoj3594 Scoi2014 方伯伯的玉公尺田

time limit 60 sec memory limit 128 mb submit 1624 solved 751 submit status discuss 方伯伯在自己的農田邊散步,他突然發現田裡的一排玉公尺非常的不美。這排玉公尺一共有n株,它們的高度參差不齊。方伯伯認為單調不下降序列很美...

P3285 SCOI2014 方伯伯的OJ

因為 n leq 10 8 m leq 10 5 所以可以用乙個域很大的權值線段樹動態開點維護。開始 l 1 r n l,r 的點值看作 1 把乙個位置的數提前相當於 l 1 的位置加 1 原來的位置 1 變為 0 放後也類似。用兩個 map 維護數的位置和編號的相互對映。include defin...