牛客網 集合合併 並查集路徑壓縮模板

2021-10-06 21:06:23 字數 2920 閱讀 5770

題目描述

給定若干個32位int數字集合,每個集合中的數字無重複,譬如:

將其中交集不為空的集合合併,保證合併完成後所有集合之間無交集,輸出合併後的集合個數以及最大集合中元素的個數。

輸入描述:

輸入格式:

第一行為乙個數字n,表示集合數。

接下來n行,每行乙個非空集合,包含若干個數字,數字之間用空格分開。

假設第i個集合的大小為si,資料滿足n<=100000,σsi<=500000

輸出描述:

輸出格式:

第一行為合併後的集合個數。

第二個為最大集合中元素的個數。

示例1輸入複製

3

1 2 3

2 5 6

8

輸出

複製

2

5

#define debug

#ifdef debug

#include

#include

"/home/majiao/mb.h"

#endif

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define maxn (500005)

#define ll long long int

#define inf (0x7f7f7f7f)

#define fori(lef, rig) for(int i=lef; i<=rig; i++)

#define forj(lef, rig) for(int j=lef; j<=rig; j++)

#define fork(lef, rig) for(int k=lef; k<=rig; k++)

#define qaq (0)

using

namespace std;

#define show(x...) \

do while (0)

void

err(

)template

<

typename t,

typename..

. a>

void

err(t a, a.

.. x)

namespace fastio

void

print()

template

<

typename t,

typename..

. t2>

inline

void

read

(t &x, t2 &..

. oth)

while

(isdigit

(ch)

) x *

= f;

read

(oth...

);}template

<

typename t,

typename..

. t2>

inline

void

print

(t x, t2.

.. oth)

while

(x/=10)

;while

(p3>=0)

putchar

(print_f[p3--])

;putchar

(' ');

print

(oth...

);}}

// namespace fastio

using fastio::print;

using fastio::read;

int n, m, q, k;

string mul

(string a, string b)

ret[pos]

+= flag;

}while

(ret.

back()

==0) ret.

pop_back()

;for

(auto

& ch : ret) ch +

='0'

;reverse

(ret.

begin()

, ret.

end())

;return ret;

}int pre[maxn]

, sum[maxn]

;intfa(

int x)

void

union_xy

(int x,

int y)

}int tot;

map<

int,

int> mp;

intid

(int x)

intmain()

lst = x;

if(ch ==

'\n'

)break;}

}int cnt =

0, ans =0;

for(

int i=

1; i<=tot; i++)if

(pre[i]

== i)

printf

("%d\n%d\n"

, cnt, ans)

;#ifdef debug

clock_t etime =

clock()

;printf

("rum time: %lf 秒\n",(

double

)(etime-stime)

/clocks_per_sec)

;#endif

return0;

}

牛客網 字元集合

如題 輸入乙個字串,求出該字串包含的字元集合 輸入描述 每組資料輸入乙個字串,字串最大長度為100,且只包含字母,不可能為空串,區分大小寫。輸出描述 每組資料一行,按字串原有的字元順序,輸出字元集合,即重複出現並靠後的字母不輸出。示例1輸入 abcqweracb 輸出 abcqwer 思路 如下 i...

牛客網 字元集合

輸入乙個字串,求出該字串包含的字元集合 輸入描述 每組資料輸入乙個字串,字串最大長度為100,且只包含字母,不可能為空串,區分大小寫。輸出描述 每組資料一行,按字串原有的字元順序,輸出字元集合,即重複出現並靠後的字母不輸出。輸入例子1 abcqweracb輸出例子1 abcqwer因為字元只有大小寫...

牛客網考研機試題集合 遊船出租

考點 模擬 注意 1.測試用例的問題 該題不太好 若 1 s 10 00 1 s 12 00 該如何處理?是認為1 s 12 00為無效資料,還是為最新的有效資料?若 1 s 10 00 1 e 12 00 1 e 13 00 該如何處理?正常認為1 e 13 00為無效資料 題目沒有說清楚。2.平...