BZOJ HNOI2004 寵物收養所

2021-07-10 13:04:16 字數 1126 閱讀 6331

這是乙份極其「優美」的**,本來以為附帶大常數,結果和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 而他也給每個處在收養場的寵物乙個特點值。這...