bzoj 2827 千山鳥飛絕

2022-04-01 11:18:27 字數 2249 閱讀 8079

time limit: 10 sec  memory limit: 128 mb

submit: 802  solved: 228

[submit][status][discuss]

51 1 1

3 1 2

4 4 4

2 0 1

2 2 3

51 1 2

2 4 4

2 4 3

3 0 1

5 0 134

688對於樣例的解釋:

首先5只鳥的位置為(1,1),(1,2),(4,4),(0,1),(2,3),士氣和團結值都是0。

鳥1飛到了(1,2),於是鳥1和鳥2互相鼓勵,鳥1士氣變為3,鳥2士氣變為1。鳥1鳥2的團結值變為1。

然後鳥2飛到(4,4),與鳥3互相鼓勵,鳥2士氣變為4,鳥3士氣變為3。鳥2與鳥3的團結值變為1。

鳥2然後飛到了(4,3),乙個沒有鳥的地方。於是士氣和團結值都變為了0。

接下來鳥3和鳥5都飛到了鳥4的位置,於是三隻鳥互相鼓勵,鳥4、鳥5士氣變為4,鳥3士氣仍為3。鳥3、鳥4、鳥5的團結值都變為2。

鳥1:3 * 1 = 3

鳥2:4 * 1 = 4

鳥3:3 * 2 = 6

鳥4:4 * 2 = 8

鳥5:4 * 2 = 8

1≤n≤30000   0≤t≤300000   座標範圍為整數,且不超過int_min~int_max

威武值為不超過int_max的非負整數。

#include#include

#include

#include

#define n 100010

#define m 500010

using

namespace

std;

int ch[m][2

];int

rnd[m],key[m],sz[m],cnt[m],d1[m],d2[m],tot;

intz[n],rt[m],sum;

intmx[n],tog[n],w[n];

struct

query

}q[m];

struct

point

bool

operator

< (const point &b)const

bool

operator == (const point &b)const

}p[n],san[m];

int cmp(int x,int

val)

int cmp2(int x,int

val)

void mark_down(int x,int u,int

v)void push_up(int

x)void push_down(int

x)void rot(int &x,int

d)void insert(int &x,int

val)

push_down(x);

int d=cmp(x,val);

insert(ch[x][d],val);

if(rnd[ch[x][d]]>rnd[x])rot(x,d^1

); push_up(x);

}int get_max(int

x)void gao(int id,int i)

insert(rt[id],i);

mark_down(rt[id],

0,sz[rt[id]]-1);}

inthaxi(point v)

void del(int &x,int

val)

}else

del(ch[x][d],val);

if(x)push_up(x);

}int

main()

int t;scanf("

%d",&t);

for(int i=0;i)

sort(san+1,san+sum+1

); sum=unique(san+1,san+sum+1)-san-1

;

for(int i=1;i<=n;i++)

for(int i=0;i)

for(int i=1;i<=n;i++)del(rt[z[i]],i);

for(int i=1;i<=n;i++)printf("

%lld\n

",1ll*mx[i]*tog[i]);

return0;

}

BZOJ2827 千山鳥飛絕

portal 有 n n leq10 5 隻鳥分布在二維平面的整點上。每只鳥有威武值 士氣值和團結值 威武值是固定的 士氣值等於與其在同一位置的其他鳥的威武值的最大值 團結值等於與其在同一位置的其他鳥的隻數。接下來 t t leq2.5 times10 5 秒,第 i 秒會有乙隻鳥 b i 由原位置...

BZOJ2827 千山鳥飛絕

離散化座標,每個座標開一棵以鳥的編號為關鍵字的平衡樹。每次插入時打2個標記,同時更新自身。這個方法比較顯然,而且好寫。正解好像用很迷的方法亂搞了一波,然後用線段樹不打標記就做出來了,並不會。treap旋轉沒傳引用,調了好久。include define n 30005 define m 330005...

題解 BZOJ 2827 千山鳥飛絕

話說有一天 doyouloveme 和 vfleaking 到山里玩。誰知 doyouloveme 剛剛進山,所有的鳥兒竟被他的神犇氣場給驚得全部飛走了。vfleaking 頓時膜拜不已。這時鳥王用鳥語說道 安撫了一下眾鳥的情緒。鳥王生性好鬥,作出了乙個決定 要排鳥布陣把剛才嚇到它們的人類趕出山去。...