ZJOI2006 GameZ遊戲排名系統

2021-08-17 22:51:53 字數 1361 閱讀 2786

平衡樹.

這題炒雞好寫的,就是道平衡樹的裸題!

資瓷del和查詢排名

用map存一下節點編號

我們在平衡樹上也不用維護相同值的個數了

左子樹維護<=data[now]的值,因為相同的肯定是後來插入.

第乙個操作直接把查詢物件旋轉到根上去,然後輸出右子樹大小+1

第二個操作先把排名變成第幾小,然後用排名查詢輸出就好了,懶得搞區間操作了(大霧

平板電視才40行左右(大霧

luogu 2584

bzoj 1862

#include 

#include

#include

#include

#include

#include

#define int long long

const

int maxm=1000000+10;

std::map

nameid;

std::string name[maxm];

char s[maxm];

int n;

namespace splaytree

inline

bool get(int x)

inline

void pushup(int x)

inline

void rotate(int x)

inline

void splay(int x,int top)

inline

void insert(int val)

int now=rt,fax=0;

while(1)}}

inline

int find(int k)

else k-=siz[ch[now][0]]+1,now=ch[now][1];}}

inline

int pre()

inline

void del(int x)

if(!ch[x][0])

if(!ch[x][1])

int lastrt=rt;

int pre=pre();

splay(pre,0);

ch[rt][1]=ch[lastrt][1];

fa[ch[rt][1]]=rt;

clear(lastrt);

pushup(rt);

}}using

namespace splaytree;

main()

else

if(!num)

else

puts("");}}

}return

0;}

ZJOI2006 物流運輸

description 物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能...

ZJOI2006 物流運輸

dp套最短路。還是蒟蒻做題少。開始想的是狀壓dp。但是因為太蒻了,不會很高效地處理一些點集的最短路,弄了乙個t飛的演算法。之後看了題解才知道原來是可以用dp套最短路做的。為什麼需要dp?因為本題涉及到狀態的選擇。每一天要麼不更換線路,要麼更換。顯然這個東西是沒有辦法貪心搞的,所以只能用dp把狀態整合...

ZJOI2006 物流運輸

物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能夠按時到達目的地。但是修...