P1196 NOI2002 銀河英雄傳說題解

2021-09-25 15:50:25 字數 492 閱讀 3422

跳轉了解題意

這是一道帶權並查集的入門題目,權即是關係,這個題的權是該節點距離特徵性元素的距離,以及以x為開始的集合的元素個數

如不了解帶權並查集,建議先學習一下再做

ac**:

#include

#include

#include

#include

#include

#define maxn 30005

using

namespace std;

int t,f[maxn]

,value[maxn]

,num[maxn]

;inline

intfind

(int k)

intmain()

else

}return0;

}

P1196 NOI2002 銀河英雄傳說

題目 p1196 noi2002 銀河英雄傳說 分析 對於m指令,一次移動整列,並且是把兩列合併成一列。對於c指令 判斷飛船 i 和飛船 j 是否在同一列,若在,則輸出它們中間隔了多少艘飛船。由於需要判斷是否在同一列,每列初始都只有一艘飛船,之後需要不斷合併,所以很容易就想到要用並查集來實現。ac ...

p1196 NOI2002 銀河英雄傳說

所謂帶權並查集 本題所求的不止是兩個編號之間是否有關係,還要求兩個編號之間有什麼關係,這就要求我們維護多個陣列,fa陣列維護兩個編號之間的連通性,re維護編號為i的戰艦到fa i 之間的距離,num維護編號為i的戰艦所在的那一列有多少戰艦。include include include includ...

P1196 NOI2002 銀河英雄傳說

並查集的變式題 o 好像我並不大會表達 還是直接 吧 include include includeusing namespace std int f 30010 sum 30010 tot 30010 f為並查集陣列,sum為這個點與他修改之前的父親之間的飛船個數,包括他父親 tot為以這個點為根...