(小聲bb 我覺得帶權並查集比較玄妙)
傳送門qaq
很容易想到用並查集來維護
設size表示當前佇列的數量(以i為隊頭的數量),to_root表示當前節點到祖宗的距離
則對於每乙個飛船,它到隊頭的距離,就等於它到它祖先的距離加上它祖先到隊頭的距離,而它的祖先到隊頭的距離,也可以變成類似的。可以在getfather時順便維護
哎。。還有多久才能停課啊。。真的不想上文化課了。。。。。
#include#define n 30005using
namespace
std;
intfather[n],to_root[n],size[n];
inline
int getfather(int
x)int
main()
intt;
cin>>t;
while(t--)
if(opt=='c'
)
cout
<1
<<'\n'
; }
}return0;
}
NOI2002 銀河英雄傳說
noi2002 day1 t1 公元5801年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集團在巴公尺利恩星域爆發戰爭。泰山壓頂集團派宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集團點名將楊威利組織...
NOI 2002 銀河英雄傳說
有 n 列戰場,每一列一開始只有乙個戰艦,編號就是對應的戰場編號。有 m 次操作 注意每一列戰場的戰艦都是排成一列的。帶偏移量的並查集。記錄 d x 表示 x 到所在列頭的一段上共有多少個戰艦。記錄 sz x 表示 x 所在的一列有多少個戰艦。為了保證複雜度,我們在做的時候還是要路徑壓縮。但是 d ...
NOI2002 銀河英雄傳說
公元五八 一年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵...