NYOJ 合縱連橫(並查集刪點)

2021-07-10 23:31:27 字數 1008 閱讀 2491

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

亂世天下,諸侯割據。每個諸侯王都有一片自己的領土。但是不是所有的諸侯王都是安分守己的,實力強大的諸侯國會設法吞併那些實力弱的,讓自己的領土面積不斷擴大。而實力弱的諸侯王為了不讓自己的領土被吞併,他會聯合一些其他同樣弱小的諸侯國,組成聯盟(聯盟不止乙個),來共同抵抗那些強大的諸侯國。 強大的諸侯國為了瓦解這些聯盟,派出了最優秀的間諜來離間他們,使一些諸侯國退出聯盟。最開始,每個諸侯國是乙個聯盟。

有兩種操作

1、u x y 表示x和y在同乙個聯盟。(0≤

x,y)

2、d x   表示x退出聯盟。

輸入

多組測試資料

第一行兩個數,n和m(1 ≤ n≤ 10^5, 1 ≤ m ≤10^5),分別表示諸侯國的個數和操作次數。

接下來有m行操作

輸出輸出聯盟的個數

樣例輸入

5 7

u 0 1

u 1 2

u 0 3

d 0u 1 4

d 2u 0 2

10 1

u 0 9

樣例輸出

case #1: 2

case #2: 9

上傳者

acm_馬振陽

剛開始陣列開小了

#include#include#includeusing namespace std;

int pre[300010];

int ran[300010];

int find(int x)

void merge(int x,int y)

int main()

{ char s[110];

int a,b,i,j,k,m,n;

int l=1;

while(scanf("%d%d",&n,&m)!=eof)

{ for(i=0;i

合縱連橫(並查集)

描述亂世天下,諸侯割據。每個諸侯王都有一片自己的領土。但是不是所有的諸侯王都是安分守己的,實力強大的諸侯國會設法吞併那些實力弱的,讓自己的領土面積不斷擴大。而實力弱的諸侯王為了不讓自己的領土被吞併,他會聯合一些其他同樣弱小的諸侯國,組成聯盟 聯盟不止乙個 來共同抵抗那些強大的諸侯國。強大的諸侯國為了...

NYOJ 1022合縱連橫 並查集刪除演算法

合縱連橫 時間限制 1000 ms 記憶體限制 65535kb 難度 3 描述 亂世天下,諸侯割據。每個諸侯王都有一片自己的領土。但是不是所有的諸侯王都是安分守己的,實力強大的諸侯國會設法吞併那些實力弱的,讓自己的領土面積不斷擴大。而實力弱的諸侯王為了不讓自己的領土被吞併,他會聯合一些其他同樣弱小的...

NYOJ 1022 合縱連橫(並查集刪除操作)

合縱連橫 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 亂世天下,諸侯割據。每個諸侯王都有一片自己的領土。但是不是所有的諸侯王都是安分守己的,實力強大的諸侯國會設法吞併那些實力弱的,讓自己的領土面積不斷擴大。而實力弱的諸侯王為了不讓自己的領土被吞併,他會聯合一些其他同樣弱小...