NOIP2002 銀河英雄傳說

2022-07-16 19:18:11 字數 647 閱讀 9624

又是一道帶權並查集的題,沒太多難度,就是吧。。。

為了提高**能力,換了一種更鬆散的**風格,導致之前的讀入優化有一行很長,所以就去抄了某位大佬的模板,結果被帶跑了。。。

讀入字元時傻了一樣「跳」著讀,結果全tle了。。。

說正事,顯然我們需要維護每個結點到其祖先的距離,而這個距離恰好是該結點之前的結點個數,因此我們還需要維護每個並查集的結點個數,注意,只需要維護祖先的就可以,其他結點可以找到祖先,然後查詢祖先的即可。

然後就是查詢時要加絕對值,然後還要減1,這題坑基本沒有,還算友好。

1 #include 2 #include 3

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 }

ac**

銀河英雄傳說

公元五八 一年,地球居民遷至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵布...

銀河英雄傳說

公元五八 一年,地球居民遷至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵布...

NOI2002 銀河英雄傳說

noi2002 day1 t1 公元5801年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集團在巴公尺利恩星域爆發戰爭。泰山壓頂集團派宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集團點名將楊威利組織...