서로소 집합

1. 문제 풀이 안녕하세요? 이번 문제의 유형은 서로소 집합(disjoint-set)입니다. 백준에서는 분리 집합으로 분류되고 유니온-파인드라고도 합니다. 민수는 철수가 낼 카드보다 큰 카드가 있다면 그 카드들 중 가장 작은 카드를 항상 내야합니다. 이는 이분 탐색의 upper_bound를 설명하고 있습니다. 따라서 관련 접근법을 생각하던 도중, 이미 냈던 카드는 다시 사용할 수 없다는 조건이 있어 upper_bound를 그대로 사용하기엔 적절하지 않음을 파악했습니다. 이를 해결하기 위해 서로소 집합을 사용하면됩니다. 서로소 집합에서 사용하는 부모 배열 p를 iota로 값을 할당하는데 각 vertex에 대해서 다음 카드를 가리키게 구현했습니다.vector card(4'000'001);...iota(car..
YouWallHyeok
'서로소 집합' 태그의 글 목록