BZOJ 1208, 寵物收養所

2021-07-23 05:55:50 字數 825 閱讀 7181

傳送門

編寫乙個支援插入、刪除元素,查詢數列中最接近某值的元素的資料結構。

保證沒有重複元素存在出現在樹中。

treap和splay都可做。

splay苦手選擇treap,然而寫得奇醜無比。

查詢最接近某值的元素可以將該值插入樹中查詢前驅與後繼,後比較。查詢完以後再刪掉。

#include

#include

const

int mod=1000000;

int n,a,b,p,ans;

intabs(int x)

struct node

void maintain()

};void rotate(node* &o,int d)

void insert(node* &o,int x)

else

o->maintain();

}void remove(node* &o,int x)

}else remove(o->ch[d],x);

if(o!=null) o->maintain();

}int find(node* o,int x)

return0;}

int rank(node* o,int x)

int kth(node* o,int x)

int main()

else

if(a==p) insert(o,b);

else

remove(o,b);}}

}printf("%d",ans);

}

Bzoj1208 寵物收養所

最近,阿q開了一間寵物收養所。收養所提供兩種服務 收養被主人遺棄的寵物和讓新的主人領養這些寵物。每個領養者都希望領養到自己滿意的寵物,阿q根據領養者的要求通過他自己發明的乙個特殊的公式,得出該領養者希望領養的寵物的特點值a a是乙個正整數,a 2 31 而他也給每個處在收養所的寵物乙個特點值。這樣他...

Bzoj1208 寵物收養所

最近,阿q開了一間寵物收養所。收養所提供兩種服務 收養被主人遺棄的寵物和讓新的主人領養這些寵物。每個領養者都希望領養到自己滿意的寵物,阿q根據領養者的要求通過他自己發明的乙個特殊的公式,得出該領養者希望領養的寵物的特點值a a是乙個正整數,a 2 31 而他也給每個處在收養所的寵物乙個特點值。這樣他...

BZOJ 1208 寵物收養所

bzoj 1208 傳送門 求前驅後繼,很明顯的平衡樹操作 其實 set 完全可以做,主要是為了複習下 treap 結果調了好久 注意 在寫平衡樹刪除時一定要記得考慮刪除數不存在的情況 特別是 treap 如果訪問到空要直接返回否則死迴圈 include using namespace std de...