傳送門
編寫乙個支援插入、刪除元素,查詢數列中最接近某值的元素的資料結構。
保證沒有重複元素存在出現在樹中。
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...