時間限制:
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 7u 0 1
u 1 2
u 0 3
d 0u 1 4
d 2u 0 2
10 1
u 0 9
樣例輸出
case #1: 2case #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 描述 亂世天下,諸侯割據。每個諸侯王都有一片自己的領土。但是不是所有的諸侯王都是安分守己的,實力強大的諸侯國會設法吞併那些實力弱的,讓自己的領土面積不斷擴大。而實力弱的諸侯王為了不讓自己的領土被吞併,他會聯合一些其他同樣弱小...