SlideShare a Scribd company logo
Disjoint Set
    郭至軒(KuoE0)
   KuoE0.tw@gmail.com
        KuoE0.ch
Attribution-ShareAlike 3.0 Unported
           (CC BY-SA 3.0)

  http://creativecommons.org/licenses/by-sa/3.0/

             Latest update: Mar 13, 2013
Disjoint Set
            中國譯:並查集



    1          4

                       7
5                          8
    2
               3
        6              9
Disjoint Set
            中國譯:並查集



    1          4

                       7
5                          8
    2
               3
        6              9
Disjoint Set
            中國譯:並查集



    1          4

                       7
5                          8
    2
               3
        6              9
Disjoint Set
            中國譯:並查集



    1          4

                       7
5                          8
    2
               3
        6              9
Tree Structure


    1          4

                     7
5                        8
    2
               3
         6           9
                     1
Tree Structure

    1          4         7



    2


5         6    3    9        8
Data Structure

 index        0           1           2            3           4

content   parent node parent node parent node parent node parent node



            The parent of root is itself!
Find Operation
            node   parent
    1
             1       1

    2        2       1

5       6    5       2

             6       2
How to determine that node 2 and node 6 in
             the same set?



         1



         2


     5       6
How to determine that node 2 and node 6 in
             the same set?



         1

                       2

         2

                       6
     5       6
How to determine that node 2 and node 6 in
             the same set?



         1

                       2     1

         2

                       6     2
     5       6
How to determine that node 2 and node 6 in
             the same set?



         1

                       2     1

         2

                       6     2    1
     5       6
Source Code

// parent is an array stored the parent
of nodes.

int findSet( int x ) {
    if ( parent[ x ] == x )
      return x;
  return findSet( parent[ x ] );
}
If the height of tree is very large...

              ...




                          }
              ...


        ...         ...
                              n

        ...         ...
Reduce Height

    1



    2


5        6
Reduce Height

    1
                        1


    2
                  5         6
5        6              2
Reduce Height
            node   parent

    1        1       1

             2       1
5       6
    2
             5       1

             6       1
Source Code

// parent is an array stored the parent of
nodes.

int findSet( int x ) {
    if ( parent[ x ] == x )
      return x;
  return parent[ x ] = findSet( parent[ x ] );
}
Union Operation

        1              7



        2


5            6     9       8


    Height = 3    Height = 2
Union Operation

        1              7



        2


5            6     9       8


    Height = 3    Height = 2
Union Operation

             1



     2                7




 5       6       9        8


         Height = 3
Source Code
// parent is an array stored the parent of
nodes.
// height is an array stored the height of tree

void unionSet( int a, int b ) {
  if ( a == b )
    return;
  if ( height[ a ] > height[ b ] )
    parent[ b ] = a;
  else {
    parent[ a ] = b;
    if ( height[ a ] == height[ b ] )
      ++height[ b ];
  }
}
Time Complexity

Find Operation    O(1)



Union Operation   O(1)
Practice Now
[UVa] 10583 - Ubiquitous Religions
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

    佛教       佛教      基督教




    佛教      基督教      佛教




   基督教       佛教      回教
10583 - Ubiquitous Religions

          佛教

                                     回教

佛教                  佛教



     佛教        佛教
                               基督教



                         基督教         基督教
Source Code
#include <iostream>
#include <cstdio>
using namespace std;
#define MAXN 50010
int parent[ MAXN ], height[ MAXN ];

int main() {
   int n, t = 0, e, a, b;
   while ( scanf( “%d %d”, &n, &e ) && n && e ) {
      for ( int i = 1; i <= n; ++i )
          parent[ i ] = i;
          height[ i ] = 1;
      for ( int i = 0; i < e; ++i ) {
          scanf( “%d %d”, &a, &b );
          unionSet( findSet( a ), findSet( b ) );
      }
      int ret = 0;
      for ( int i = 1; i <= n; ++i )
          if ( parent[ i ] == i )
             ++ret;
      printf( “Case %d: %dn”, ++t, ret );
   }
   return 0;
}
Practice Now
 [UVa] 10608 - Friends
Thank You for Your Listening.

More Related Content

More from Chih-Hsuan Kuo

[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism
Chih-Hsuan Kuo
 
[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm
Chih-Hsuan Kuo
 
[ACM-ICPC] Efficient Algorithm
[ACM-ICPC] Efficient Algorithm[ACM-ICPC] Efficient Algorithm
[ACM-ICPC] Efficient Algorithm
Chih-Hsuan Kuo
 
[ACM-ICPC] Top-down & Bottom-up
[ACM-ICPC] Top-down & Bottom-up[ACM-ICPC] Top-down & Bottom-up
[ACM-ICPC] Top-down & Bottom-up
Chih-Hsuan Kuo
 
[ACM-ICPC] Bipartite Matching
[ACM-ICPC] Bipartite Matching[ACM-ICPC] Bipartite Matching
[ACM-ICPC] Bipartite Matching
Chih-Hsuan Kuo
 
[ACM-ICPC] Minimum Cut
[ACM-ICPC] Minimum Cut[ACM-ICPC] Minimum Cut
[ACM-ICPC] Minimum Cut
Chih-Hsuan Kuo
 
[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism
Chih-Hsuan Kuo
 

More from Chih-Hsuan Kuo (20)

Necko walkthrough
Necko walkthroughNecko walkthrough
Necko walkthrough
 
Protocol handler in Gecko
Protocol handler in GeckoProtocol handler in Gecko
Protocol handler in Gecko
 
面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!面試面試面試,因為很重要所以要說三次!
面試面試面試,因為很重要所以要說三次!
 
應徵軟體工程師
應徵軟體工程師應徵軟體工程師
應徵軟體工程師
 
面試心得分享
面試心得分享面試心得分享
面試心得分享
 
Windows 真的不好用...
Windows 真的不好用...Windows 真的不好用...
Windows 真的不好用...
 
Python @Wheel Lab
Python @Wheel LabPython @Wheel Lab
Python @Wheel Lab
 
Introduction to VP8
Introduction to VP8Introduction to VP8
Introduction to VP8
 
Python @NCKU CSIE
Python @NCKU CSIEPython @NCKU CSIE
Python @NCKU CSIE
 
[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism
 
[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm[ACM-ICPC] Dinic's Algorithm
[ACM-ICPC] Dinic's Algorithm
 
[ACM-ICPC] Traversal
[ACM-ICPC] Traversal[ACM-ICPC] Traversal
[ACM-ICPC] Traversal
 
[ACM-ICPC] UVa-10245
[ACM-ICPC] UVa-10245[ACM-ICPC] UVa-10245
[ACM-ICPC] UVa-10245
 
[ACM-ICPC] Sort
[ACM-ICPC] Sort[ACM-ICPC] Sort
[ACM-ICPC] Sort
 
[ACM-ICPC] Efficient Algorithm
[ACM-ICPC] Efficient Algorithm[ACM-ICPC] Efficient Algorithm
[ACM-ICPC] Efficient Algorithm
 
[ACM-ICPC] Top-down & Bottom-up
[ACM-ICPC] Top-down & Bottom-up[ACM-ICPC] Top-down & Bottom-up
[ACM-ICPC] Top-down & Bottom-up
 
[ACM-ICPC] About I/O
[ACM-ICPC] About I/O[ACM-ICPC] About I/O
[ACM-ICPC] About I/O
 
[ACM-ICPC] Bipartite Matching
[ACM-ICPC] Bipartite Matching[ACM-ICPC] Bipartite Matching
[ACM-ICPC] Bipartite Matching
 
[ACM-ICPC] Minimum Cut
[ACM-ICPC] Minimum Cut[ACM-ICPC] Minimum Cut
[ACM-ICPC] Minimum Cut
 
[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism[ACM-ICPC] Tree Isomorphism
[ACM-ICPC] Tree Isomorphism
 

Recently uploaded

黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源** 在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源**  在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源**  在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源** 在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
微信 tytyqqww业务接单
 
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
微信 tytyqqww业务接单
 
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科** 如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科**  如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科**  如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科** 如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
微信 tytyqqww业务接单
 
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求** 小红在英国攻读硕士学位时,由于某门专业课程的难...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求**  小红在英国攻读硕士学位时,由于某门专业课程的难...出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求**  小红在英国攻读硕士学位时,由于某门专业课程的难...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求** 小红在英国攻读硕士学位时,由于某门专业课程的难...
微信 tytyqqww业务接单
 
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
微信 tytyqqww业务接单
 
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
微信 tytyqqww业务接单
 
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
微信 tytyqqww业务接单
 
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
微信 tytyqqww业务接单
 
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
微信 tytyqqww业务接单
 

Recently uploaded (17)

黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源** 在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源**  在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源**  在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩.重修过程中的学术支持和资源** 在重修过程中,学校通常会提供学术支持和资源帮助学生更好地完...
 
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
哇塞!黑客大佬居然能入侵网站改成绩,简直是神仙操作啊!太牛了!🤩💪🔥【微oojjiijj信】
 
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
鏘鏘的帶賽人生:從自卑到強運的50年成長屁事然後聊一聊傻瓜型學習歷程分析.pptx
 
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
🔍揭秘:黑客改成绩单,学历认证无阻碍! 听说有人找“高手”改成绩?还能顺利回国获得学历认证哦~ 🤔[闪亮]真的假的?别不信。最近几起案例都证实了它是真实存...
 
黑客改大学毕业成绩!挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
黑客改大学毕业成绩!挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】黑客改大学毕业成绩!挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
黑客改大学毕业成绩!挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
 
🔥 黑客大揭秘!改写成绩,轻松搞定! 🚀[闪亮的星星] 想知道学霸怎么学、学渣如何逆袭吗?我们带你深入调查:一个神秘黑客组织,他们如何入侵各大平台数据,修...
🔥 黑客大揭秘!改写成绩,轻松搞定! 🚀[闪亮的星星] 想知道学霸怎么学、学渣如何逆袭吗?我们带你深入调查:一个神秘黑客组织,他们如何入侵各大平台数据,修...🔥 黑客大揭秘!改写成绩,轻松搞定! 🚀[闪亮的星星] 想知道学霸怎么学、学渣如何逆袭吗?我们带你深入调查:一个神秘黑客组织,他们如何入侵各大平台数据,修...
🔥 黑客大揭秘!改写成绩,轻松搞定! 🚀[闪亮的星星] 想知道学霸怎么学、学渣如何逆袭吗?我们带你深入调查:一个神秘黑客组织,他们如何入侵各大平台数据,修...
 
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
大学成绩修改,找黑客改分,修改成绩单,挂科修改,GPA成绩提高黑客常用的邮件入侵方式如何破解Instagram帐户和密码【微oojjiijj信】
 
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科** 如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科**  如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科**  如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
黑客改GPA,改成绩单,出国改成绩,破解教务系统,多次挂科** 如果一个学生多次挂科,尤其是在不同学期或不同课程中,这可能会给招生官留下学习态度不端正或...
 
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,[英国院校]挂科?别担心!成绩单上的遗憾,我们帮你弥补。改造成绩认证deg...
 
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求** 小红在英国攻读硕士学位时,由于某门专业课程的难...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求**  小红在英国攻读硕士学位时,由于某门专业课程的难...出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求**  小红在英国攻读硕士学位时,由于某门专业课程的难...
出国改成绩, 修改成绩,找黑客修改成绩,找黑客改成绩,黑客修改国外大学成绩修改,通过重修达到学位要求** 小红在英国攻读硕士学位时,由于某门专业课程的难...
 
想问下,如果找黑客改成绩,回国后还能不能正常认证学历啊?【微 tytyqqww 信】
想问下,如果找黑客改成绩,回国后还能不能正常认证学历啊?【微 tytyqqww 信】想问下,如果找黑客改成绩,回国后还能不能正常认证学历啊?【微 tytyqqww 信】
想问下,如果找黑客改成绩,回国后还能不能正常认证学历啊?【微 tytyqqww 信】
 
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
黑客改gpa ,黑客技术,黑客改分,黑客改成绩,黑客修改成绩揭秘黑客常用的入侵方式,邮件成主要攻击对象!💥 你是否曾经收到过来历不明的邮件?里面可能藏着木...
 
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
🎉黑客修改成绩大揭秘! 🚀💥你知道吗?这些天的努力,竟然被一个小小的改变毁掉了。别让坏运气影响到你未来哦~ #改变命运 #掌控命运 #逆天改命 #运气不好...
 
挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
挂科后,我真的很担心自己的成绩。如果可以的话,能不能请黑客帮个忙修改一下?【微 tytyqqww 信】
 
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
国外学历认证办理,留信网认证办理.国外大学成绩单修改,留学gpa不足上国外名牌大学,黑客改gpa成绩!【微信tytyqqww】
 
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
黑客来助力,成绩轻松改🎉 回国学历认证无忧解烦恼!|黑科技为你保驾护航,留学路上更顺畅。不用再担心烦人的成绩单问题啦~ #IT技术 #网络安全【微 tyt...
 
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
黑客改分,黑客改成绩,黑客修改成绩,黑客改学历,黑客服务黑客修改大学成绩,黑客改成绩单,黑客入侵教务系统,找黑客修改成绩.【微oojjiijj信】
 

[ACM-ICPC] Disjoint Set

  • 1. Disjoint Set 郭至軒(KuoE0) KuoE0.tw@gmail.com KuoE0.ch
  • 2. Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/ Latest update: Mar 13, 2013
  • 3. Disjoint Set 中國譯:並查集 1 4 7 5 8 2 3 6 9
  • 4. Disjoint Set 中國譯:並查集 1 4 7 5 8 2 3 6 9
  • 5. Disjoint Set 中國譯:並查集 1 4 7 5 8 2 3 6 9
  • 6. Disjoint Set 中國譯:並查集 1 4 7 5 8 2 3 6 9
  • 7. Tree Structure 1 4 7 5 8 2 3 6 9 1
  • 8. Tree Structure 1 4 7 2 5 6 3 9 8
  • 9. Data Structure index 0 1 2 3 4 content parent node parent node parent node parent node parent node The parent of root is itself!
  • 10. Find Operation node parent 1 1 1 2 2 1 5 6 5 2 6 2
  • 11. How to determine that node 2 and node 6 in the same set? 1 2 5 6
  • 12. How to determine that node 2 and node 6 in the same set? 1 2 2 6 5 6
  • 13. How to determine that node 2 and node 6 in the same set? 1 2 1 2 6 2 5 6
  • 14. How to determine that node 2 and node 6 in the same set? 1 2 1 2 6 2 1 5 6
  • 15. Source Code // parent is an array stored the parent of nodes. int findSet( int x ) { if ( parent[ x ] == x ) return x; return findSet( parent[ x ] ); }
  • 16. If the height of tree is very large... ... } ... ... ... n ... ...
  • 17. Reduce Height 1 2 5 6
  • 18. Reduce Height 1 1 2 5 6 5 6 2
  • 19. Reduce Height node parent 1 1 1 2 1 5 6 2 5 1 6 1
  • 20. Source Code // parent is an array stored the parent of nodes. int findSet( int x ) { if ( parent[ x ] == x ) return x; return parent[ x ] = findSet( parent[ x ] ); }
  • 21. Union Operation 1 7 2 5 6 9 8 Height = 3 Height = 2
  • 22. Union Operation 1 7 2 5 6 9 8 Height = 3 Height = 2
  • 23. Union Operation 1 2 7 5 6 9 8 Height = 3
  • 24. Source Code // parent is an array stored the parent of nodes. // height is an array stored the height of tree void unionSet( int a, int b ) { if ( a == b ) return; if ( height[ a ] > height[ b ] ) parent[ b ] = a; else { parent[ a ] = b; if ( height[ a ] == height[ b ] ) ++height[ b ]; } }
  • 25. Time Complexity Find Operation O(1) Union Operation O(1)
  • 26. Practice Now [UVa] 10583 - Ubiquitous Religions
  • 27. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 28. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 29. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 30. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 31. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 32. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 33. 10583 - Ubiquitous Religions 佛教 佛教 基督教 佛教 基督教 佛教 基督教 佛教 回教
  • 34. 10583 - Ubiquitous Religions 佛教 回教 佛教 佛教 佛教 佛教 基督教 基督教 基督教
  • 35. Source Code #include <iostream> #include <cstdio> using namespace std; #define MAXN 50010 int parent[ MAXN ], height[ MAXN ]; int main() { int n, t = 0, e, a, b; while ( scanf( “%d %d”, &n, &e ) && n && e ) { for ( int i = 1; i <= n; ++i ) parent[ i ] = i; height[ i ] = 1; for ( int i = 0; i < e; ++i ) { scanf( “%d %d”, &a, &b ); unionSet( findSet( a ), findSet( b ) ); } int ret = 0; for ( int i = 1; i <= n; ++i ) if ( parent[ i ] == i ) ++ret; printf( “Case %d: %dn”, ++t, ret ); } return 0; }
  • 36. Practice Now [UVa] 10608 - Friends
  • 37. Thank You for Your Listening.