HNOI2004 寵物收養場(Treap)

2022-03-01 12:18:14 字數 944 閱讀 2469

洛谷傳送門

這題真是噁心,一開始沒理解題意。

原來如果有狗,狗就會存在收養場中,直到有人來領養;

如果有人,人也會存在收養場中,直到有狗來被領養。

就是建乙個treap,狗來把狗插進去,人來後把狗領養完,多餘的人就存在treap裡,等狗來。

1 #include 2 #include 3 #include 4

5using

namespace

std;67

int n, root, tot, pre, suc, flag = -1

, ans;

8int son[100001][2], size[100001], rnd[100001], w[100001];9

10 inline void turn(int &k, int

x)11

1920 inline void insert(int &k, int

x)21

30 size[k]++;

31if(w[k]

3236

else

3741}42

43 inline void get_pre(int k, int

x)44

4950 inline void get_suc(int k, int

x)51

5657 inline void del(int &k, int

x)58

66else

6772}73

74int

main()

7594

else flag =a, insert(root, b);95}

96}97 printf("%d"

, ans);

98return0;

99 }

view code

HNOI2004 寵物收養場

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

HNOI2004 寵物收養場

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

HNOI2004 寵物收養場 splay

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