體育場 帶權並查集

2021-08-21 07:41:09 字數 1299 閱讀 7561

description

觀眾席每一行構成乙個圓形,每個圓形由300個座位組成,對300個座位按照順時針編號1到300,且可以認為有無數多行。現在比賽的組織者希望觀眾進入場地的順序可以更加的有趣,在門票上並沒有規定每個人的座位,而是與這個圈中某個人的相對位置,可以坐在任意一行。

門票上標示的形式如下:a b x 表示第b個人必須在a的順時針方向x個位置(比如a坐在4號位子,x=2,則b必須坐在6號位子)。

現在你就座位志願者在入場口檢票。如果拿到一張門票,與之前給定的矛盾,則被視為是假票,如果無矛盾,視為真票。現在給定該行入場觀眾的順序,以及他們手中的門票,請問其中有多少假票?

input

第一行兩個數n(1<=n<=50,000)和m(1<=m<=100,000)。n表示人數。

接下來m行,每行三個數a,b,x標示b必須坐在a的順時針方向x個位置。(1<=a<=n), b(1<=b<=n), x(0<=x<300) (a!=b)

以上字母含義如題所述。

output

僅乙個數,表示在m張票中有多少假票。

sample input

10 10

1 2 150

3 4 200

1 5 270

2 6 200

6 5 80

4 7 150

8 9 100

4 8 50

1 7 100

9 2 100

sample output

2data constraint

hint

【樣例解釋】

第5張和第10張是假票

【資料範圍】

對於20%的資料:n<=100

對於100%的資料:n<=50,000。

. .

. . .分析

程式:

#include

using

namespace

std;

int n,m,f[50001],d[50001],root1,root2,ans=0,a,b,x;

int find(int w)

int main()

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

else

if ((d[b]-d[a]+300)%300!=x%300) ans++;

}cout

0;}

jzoj1503 體育場 帶權並查集

乙個圓形300公尺的操場,外面位置無數排的椅子,然後給出一些條件,形式為 ab x abx 意思為a在b的順時針方向第x個,求有多少個要求無法滿足 用並查集,然後乙個fa r far 陣列表示離它的fa ther f at he r有多遠,每次壓縮路徑。之後如果輸入的a和b在乙個分量內就進行判斷 f...

並查集 jzoj1503 體育場

description 觀眾席每一行構成乙個圓形,每個圓形由300個座位組成,對300個座位按照順時針編號1到300,且可以認為有無數多行。現在比賽的組織者希望觀眾進入場地的順序可以更加的有趣,在門票上並沒有規定每個人的座位,而是與這個圈中某個人的相對位置,可以坐在任意一行。門票上標示的形式如下 a...

並查集,帶權並查集

題意 ignatius過生日,客人來到,他想知道他需要準備多少張桌子。然而一張桌子上面只能坐上相互熟悉的人,其中熟悉可定義成為a與b認識,b與c認識,我們就說a,b,c相互熟悉 例如a與b熟悉and b與c熟悉,d與e熟悉,此時至少需要兩張桌子。輸入 t表示樣例個數,n表示朋友個數,朋友從1到n編號...