出納員是乙個優秀的職業。
根據題意要構造一種資料結構使得能動態維護乙個權值大於等於min的集合,並且支援查詢排名等操作,資料範圍來看複雜度是nlogn
由以上得出結論使用平衡樹
我用的是treap,如果刪的話就要把整顆左子樹和根節點一起刪再處理右子樹的,其他操作和普通平衡樹一樣,可以看我之前那個模板。
1 #include2using
namespace
std;
3int
n,mi,ans;
4char s[10];5
struct
node
6t[200005];9
intrt,cnt;
10void merge(int
k)11
14void lturn(int &k)
1523
void rturn(int &k)
2432
void add(int &k,int
x)33
42 t[k].size++;
43if(t[k].v==x)t[k].w++;
44else
4551
else
5256}57
}58void del(int &k,int
x)59
67else
71merge(k);72}
73int
delta;
74int rank(int k,int
x)75
80int
main()
8193}94
else
if(s[0]=='a'
)9598else
if(s[0]=='s'
)99103else
104108
}109 printf("
%d\n
",ans);
110return0;
111 }
bzoj1503 鬱悶的出納員
oier公司是一家大型專業化軟體公司,有著數以萬計的員工。作為一名出納員,我的任務之一便是統計每位員工的 工資。這本來是乙份不錯的工作,但是令人鬱悶的是,我們的老闆反覆無常,經常調整員工的工資。如果他心情好 就可能把每位員工的工資加上乙個相同的量。反之,如果心情不好,就可能把他們的工資扣除乙個相同的...
鬱悶的出納員(bzoj 1503)
oier公司是一家大型專業化軟體公司,有著數以萬計的員工。作為一名出納員,我的任務之一便是統計每位員工的工資。這本來是乙份不錯的工作,但是令人鬱悶的是,我們的老闆反覆無常,經常調整員工的工資。如果他心情好,就可能把每位員工的工資加上乙個相同的量。反之,如果心情不好,就可能把他們的工資扣除乙個相同的量...
bzoj1503 鬱悶的出納員
oier公司是一家大型專業化軟體公司,有著數以萬計的員工。作為一名出納員,我的任務之一便是統計每位員工的 工資。這本來是乙份不錯的工作,但是令人鬱悶的是,我們的老闆反覆無常,經常調整員工的工資。如果他心情好 就可能把每位員工的工資加上乙個相同的量。反之,如果心情不好,就可能把他們的工資扣除乙個相同的...