又是一道帶權並查集的題,沒太多難度,就是吧。。。
為了提高**能力,換了一種更鬆散的**風格,導致之前的讀入優化有一行很長,所以就去抄了某位大佬的模板,結果被帶跑了。。。
讀入字元時傻了一樣「跳」著讀,結果全tle了。。。
說正事,顯然我們需要維護每個結點到其祖先的距離,而這個距離恰好是該結點之前的結點個數,因此我們還需要維護每個並查集的結點個數,注意,只需要維護祖先的就可以,其他結點可以找到祖先,然後查詢祖先的即可。
然後就是查詢時要加絕對值,然後還要減1,這題坑基本沒有,還算友好。
1 #include 2 #include 3ac**4 inline int
get_num()
1213
const
int maxn = 3e4 + 5;14
15int
fa[maxn], dist[maxn], size[maxn];
1617
int dj_find(int
i) 24
25 inline void dj_merge(int a, int
b) 32}33
34int
main() 50}
51return0;
52 }
銀河英雄傳說
公元五八 一年,地球居民遷至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵布...
銀河英雄傳說
公元五八 一年,地球居民遷至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵布...
NOI2002 銀河英雄傳說
noi2002 day1 t1 公元5801年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集團在巴公尺利恩星域爆發戰爭。泰山壓頂集團派宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集團點名將楊威利組織...