這是乙份極其「優美」的**,本來以為附帶大常數,結果和hzwer的跑的一樣快。。。雖然**本身確實比較差
splay建一棵即可,在樹上標上當前是「寵物樹」還是「領養者樹」。
findval用來找小於等於x的最大值y的位置。比較abs(y-b)和abs(y的後繼-b)的大小,注意判斷x小於樹中的所有值的情況,此時findval會返回0。
#include
#include
#include
#define lch ch[x][0]
#define rch ch[x][1]
using
namespace
std;
const
int n=100010,mod=1000000;
int n,ans=0;
bool flag;
int read ()
while (ch>='0'&&ch<='9')
return x*f;
}struct splay
int grow (int k,int fa)
void rotate (int x)
void splay (int x,int to=0)
}int findval (int k)
else
if (k0];
else ans=x,x=ch[x][1];
}return ans;
}int findkth (int k)
}void insert (int k)
else
else x=y;}}
splay(x);}}
void erase (int x)
else
}int next (int x)
splay ()
}sp;
int main ()
else
if (c==sp.opt) sp.insert(x);
else
else
if (u>v)
}else }}
else }}
printf("%d\n",ans);
}
HNOI2004寵物收養所
time limit 10 sec memory limit 162 mb submit 2796 solved 995 submit status discuss 最近,阿q開了一間寵物收養所。收養所提供兩種服務 收養被主人遺棄的寵物和讓新的主人領養這些寵物。每個領養者都希望領養到自己滿意的寵物,...
HNOI2004 寵物收養場
凡凡開了一間寵物收養場。收養場提供兩種服務 收養被主人遺棄的寵物和讓新的主人領養這些寵物。每個領養者都希望領養到自己滿意的寵物,凡凡根據領養者的要求通過他自己發明的乙個特殊的公式,得出該領養者希望領養的寵物的特點值a a是乙個正整數,a 2 31 而他也給每個處在收養場的寵物乙個特點值。這樣他就能夠...
HNOI2004 寵物收養場
題目描述 凡凡開了一間寵物收養場。收養場提供兩種服務 收養被主人遺棄的寵物和讓新的主人領養這些寵物。每個領養者都希望領養到自己滿意的寵物,凡凡根據領養者的要求通過他自己發明的乙個特殊的公式,得出該領養者希望領養的寵物的特點值a a是乙個正整數,a 2 31 而他也給每個處在收養場的寵物乙個特點值。這...