HNOI2004 寵物收養場 set簡單應用

2021-07-25 18:31:15 字數 664 閱讀 9588

做法:

如果收養者按照到來順序收養寵物的話,只要把寵物的特點值建立平衡樹,每次求收養者特點值前驅後繼與之絕對值相差較小的乙個。

這就是乙個set的簡單應用啦。

如果人和寵物互相選擇,可以用兩個平衡樹,實現起來有些麻煩。

但我們可以想到,人和寵物在此題本質等價,人和寵物都可能待在店裡等待。

那其實只要乙個平衡樹,再加乙個變數記錄一下當前樹中存的是人還是寵物即可,具體見**。

#include

#include

#include

#include

#include

using

namespace

std;

const

int inf=1e9;

const

int mod=1000000;

setst;

int ans;

void query(int x)else

ans%=mod;

}int main()else

if(a==op) st.insert(b);

else query(b);

}printf("%d",ans);

return

0;}

HNOI2004 寵物收養場

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

HNOI2004 寵物收養場

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

HNOI2004 寵物收養場 splay

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