어떤 문제에서 적용? 동일 부류인지 확인할 때 동일 부류가 아닌지 확인할 때 총 몇 개의 묶음인지 확인할 때 분리집합이란? 교집합이 존재하지 않는 둘 이상의 집합 분리집합을 만들어가는 과정, 그리고 코드 작성하기 해야할 것 첫번째, 내가 가리키는 부모의 숫자를 저장하자. // 초기화 과정 int p[10001]; for(i=1; i 메모이제이션을 사용하여 무려 [거의 O(1)]이 가능하다 int find(int n){ if(p[n] == n) return n; return (p[n] = find(p[n])); //경로 압축 } 3. 두 집합을 하나의 집합으로 합치는 과정 void union(int i, int j){ // i와 j에는 이미 경로압축이 다 되었음 p[p[j]] = p[i]; } if(fin..