青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-167  評(píng)論-8  文章-0  trackbacks-0
文章作者:yx_th000 文章來源:Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 轉(zhuǎn)載請(qǐng)注明,謝謝合作。

并查集學(xué)習(xí)--并查集詳解

The Suspects

Time Limit: 1000MSMemory Limit: 20000K
Total Submissions: 5572Accepted: 2660

Description

Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to separate the suspects from others. 
In the Not-Spreading-Your-Sickness University (NSYSU), there are many student groups. Students in the same group intercommunicate with each other frequently, and a student may join several groups. To prevent the possible transmissions of SARS, the NSYSU collects the member lists of all student groups, and makes the following rule in their standard operation procedure (SOP). 
Once a member in a group is a suspect, all members in the group are suspects. 
However, they find that it is not easy to identify all the suspects when a student is recognized as a suspect. Your job is to write a program which finds all the suspects.

Input

The input file contains several cases. Each test case begins with two integers n and m in a line, where n is the number of students, and m is the number of groups. You may assume that 0 < n <= 30000 and 0 <= m <= 500. Every student is numbered by a unique integer between 0 and n−1, and initially student 0 is recognized as a suspect in all the cases. This line is followed by m member lists of the groups, one line per group. Each line begins with an integer k by itself representing the number of members in the group. Following the number of members, there are k integers representing the students in this group. All the integers in a line are separated by at least one space. 
A case with n = 0 and m = 0 indicates the end of the input, and need not be processed.

Output

For each case, output the number of suspects in one line.

Sample Input

100 4 2 1 2 5 10 13 11 12 14 2 0 1 2 99 2 200 2 1 5 5 1 2 3 4 5 1 0 0 0

Sample Output

4 1 1
我的思路: 典型的并查集,最初各自為集,然后每個(gè)group進(jìn)行合并,等到所有的group合并完,題目也就解決了,因?yàn)樵诤喜⒌臅r(shí)候,如果哪兩個(gè)group中有重合的元素,則那個(gè)后來的group會(huì)由于按秩合并的原則自動(dòng)合并到 先有的集合當(dāng)中,奧妙便在其中。下面是代碼:

 1#include<iostream>
 2using namespace std;
 3
 4int n, m, i, j;
 5int father[30005], num[30005];
 6
 7void makeSet(int n)
 8{
 9    for(i = 0; i < n; i++)
10    {
11        father[i] = i; //使用本身做根
12        num[i] = 1;
13    }

14}

15int findSet(int x)
16{
17    if(father[x] != x) //合并后的樹的根是不變的
18    {    
19        father[x] = findSet(father[x]);
20    }

21    return father[x]; 
22}

23
24void Union(int a, int b)
25{
26    int x = findSet(a);
27    int y = findSet(b);
28    if(x == y)
29    {
30        return;
31    }

32    if(num[x] <= num[y])
33    {
34        father[x] = y;
35        num[y] += num[x];
36    }

37    else 
38    {
39        father[y] = x;
40        num[x] += num[y];
41    }

42}

43
44int main()
45{
46    while(scanf("%d %d"&n, &m)!=EOF && n != 0)
47    {
48        makeSet(n);
49        for(i = 0; i < m; i++)
50        {
51            int count, first, b;
52            scanf("%d %d",&count, &first);
53            for(j = 1; j < count; j++)
54            {
55                scanf("%d",&b);
56                Union(first,b);
57            }

58        }

59        printf("%d\n",num[findSet(0)]);
60    }

61    return 0;
62}

63
另外,上面并查集的根我是采用數(shù)字本身的,然后路徑壓縮尋找父親節(jié)點(diǎn)是采用遞歸的,下面貼出,采用-1做根和使用非遞歸實(shí)現(xiàn)的部分代碼:

 1void makeSet(int n)
 2{
 3    for(i = 0; i < n; i++)
 4    {
 5        father[i] = -1;
 6        num[i] = 1;
 7    }

 8}

 9//非遞歸實(shí)現(xiàn)
10int findSet(int x)
11{
12    while(father[x] != -1)   //根為-1
13    {
14        x = father[x];
15    }

16    return x;
17}

18
posted on 2011-12-24 15:15 老馬驛站 閱讀(234) 評(píng)論(0)  編輯 收藏 引用 所屬分類: c++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99天天综合性| 亚洲欧美国产一区二区三区| 久久国产精品高清| 国产精品男人爽免费视频1| 91久久久久| 美女视频黄a大片欧美| 亚洲欧美999| 欧美性大战xxxxx久久久| 亚洲欧洲日韩综合二区| 老牛国产精品一区的观看方式| 亚洲天堂成人在线观看| 欧美日韩三级一区二区| 亚洲人体一区| 欧美大片免费观看在线观看网站推荐 | 亚洲性视频网站| 在线视频国内自拍亚洲视频| 欧美一进一出视频| 久久精品99国产精品| 国产精品视频999| 亚洲图片激情小说| 亚洲夜晚福利在线观看| 国产亚洲精品一区二区| 美女精品在线观看| 欧美大片在线观看一区| 一区二区久久| 亚洲欧美日韩视频一区| 国产在线观看一区| 欧美黄色日本| 欧美日韩免费观看一区二区三区 | 久久综合九色欧美综合狠狠| 老牛影视一区二区三区| 99热免费精品| 亚洲永久字幕| 影院欧美亚洲| 亚洲黄色免费网站| 国产精品久久久久国产a级| 久久国产精彩视频| 蜜桃av一区二区三区| 亚洲视频一区二区在线观看| 午夜精彩视频在线观看不卡 | 国产欧美日韩免费| 欧美成年人视频网站欧美| 欧美精品午夜| 久久av二区| 免费在线播放第一区高清av| 亚洲天堂男人| 久久久久久久久岛国免费| av成人福利| 欧美在线www| 洋洋av久久久久久久一区| 亚洲永久精品大片| 亚洲人成人一区二区在线观看| 一区二区三区日韩在线观看| 国内精品久久久久伊人av| 亚洲黄页视频免费观看| 国产欧美亚洲日本| 亚洲国产欧美一区二区三区同亚洲| 国产精品久久福利| 你懂的网址国产 欧美| 国产精品qvod| 欧美电影在线观看| 国产精品欧美久久| 欧美黑人国产人伦爽爽爽| 国产精品亚洲不卡a| 亚洲电影免费在线 | 欧美日韩综合网| 久久深夜福利免费观看| 欧美日韩综合久久| 免费观看久久久4p| 国产精品一页| 亚洲人精品午夜| 精品电影在线观看| 亚洲天堂免费观看| 亚洲精选在线| 久久成人精品视频| 亚洲永久在线观看| 欧美凹凸一区二区三区视频| 欧美专区一区二区三区| 欧美日韩国产在线看| 免费观看成人www动漫视频| 国产精品久久久久一区| 亚洲国产一区二区三区在线播| 国产一区三区三区| 亚洲一区二区三区精品在线| 亚洲精品影视在线观看| 久久久亚洲国产天美传媒修理工 | 欧美日韩国产高清| 久久综合久久综合久久| 国产精品三区www17con| 日韩亚洲欧美在线观看| 91久久在线| 久久久成人网| 久久精品午夜| 国产精品免费小视频| 日韩午夜电影| 亚洲精品中文字幕在线| 久久综合色播五月| 久久久亚洲精品一区二区三区| 国产精品性做久久久久久| 一本大道久久a久久综合婷婷| 亚洲日本国产| 鲁大师影院一区二区三区| 久久久亚洲国产美女国产盗摄| 国产精品永久| 亚洲自拍偷拍麻豆| 亚洲免费影院| 欧美天堂亚洲电影院在线播放| 欧美激情区在线播放| 原创国产精品91| 久久精品理论片| 久久男女视频| 国产一区二区高清视频| 香蕉乱码成人久久天堂爱免费 | 亚洲一区二区成人在线观看| 欧美精品亚洲精品| 亚洲国产一区二区a毛片| 亚洲日韩欧美一区二区在线| 久久综合中文色婷婷| 美女视频黄免费的久久| 曰韩精品一区二区| 久久综合一区二区三区| 女同一区二区| 亚洲激情国产| 欧美成人免费va影院高清| 亚洲国产精品一区二区第一页| 亚洲国产一区二区a毛片| 蜜臀久久99精品久久久久久9| 欧美激情bt| 亚洲日本中文| 欧美美女视频| 99这里只有久久精品视频| 亚洲伊人伊色伊影伊综合网| 国产精品国产三级国产aⅴ浪潮 | 亚洲视频在线观看视频| 午夜久久久久| 国产欧美日韩亚洲精品| 欧美一区视频在线| 久久久在线视频| 在线精品国产成人综合| 麻豆av一区二区三区久久| 亚洲国产精品久久久久婷婷884 | 夜夜嗨一区二区| 亚洲欧美日韩一区二区三区在线| 国产精品三级久久久久久电影| 香蕉久久精品日日躁夜夜躁| 久久青草福利网站| 亚洲国产一区二区精品专区| 欧美精品不卡| 在线视频免费在线观看一区二区| 欧美伊人久久| 国产综合欧美| 欧美成人国产va精品日本一级| 亚洲精品中文字幕女同| 亚洲欧美日韩另类| 国产一区二区三区视频在线观看| 久久夜色精品一区| 亚洲毛片在线观看.| 亚洲欧美日韩电影| 精品99一区二区三区| 欧美成人有码| 亚洲一区精品在线| 美女被久久久| 一本色道久久加勒比88综合| 国产精品一区久久| 久久久久久夜精品精品免费| 亚洲全部视频| 欧美在线91| 亚洲国产精品久久| 欧美婷婷在线| 久久久久久噜噜噜久久久精品| 亚洲国产精品福利| 小黄鸭视频精品导航| 在线国产日韩| 欧美视频免费在线| 久久精品网址| 日韩视频在线观看免费| 久久久久**毛片大全| 亚洲理伦在线| 国产日韩欧美亚洲一区| 欧美不卡视频| 午夜视频在线观看一区二区三区 | 亚洲综合日韩| 欧美黑人在线播放| 亚欧成人在线| 亚洲精品一区二区三区四区高清| 国产精品一区二区在线| 免费成人性网站| 亚洲一区在线播放| 亚洲高清电影| 久久国产精品久久久久久久久久| 亚洲精品乱码久久久久久蜜桃91 | 99re热这里只有精品视频| 久久久久久9| 亚洲视频电影图片偷拍一区| 精久久久久久| 国产精品麻豆va在线播放| 美日韩精品视频免费看| 午夜激情一区| 一本色道久久综合亚洲精品婷婷| 美国十次了思思久久精品导航|