BZOJ1503 鬱悶的出納員

2022-03-27 08:53:39 字數 1002 閱讀 2199

出納員是乙個優秀的職業。

根據題意要構造一種資料結構使得能動態維護乙個權值大於等於min的集合,並且支援查詢排名等操作,資料範圍來看複雜度是nlogn

由以上得出結論使用平衡樹

我用的是treap,如果刪的話就要把整顆左子樹和根節點一起刪再處理右子樹的,其他操作和普通平衡樹一樣,可以看我之前那個模板。

1 #include2

using

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公司是一家大型專業化軟體公司,有著數以萬計的員工。作為一名出納員,我的任務之一便是統計每位員工的 工資。這本來是乙份不錯的工作,但是令人鬱悶的是,我們的老闆反覆無常,經常調整員工的工資。如果他心情好 就可能把每位員工的工資加上乙個相同的量。反之,如果心情不好,就可能把他們的工資扣除乙個相同的...