문제
백준 16566
설명
문제에서 요구하는 것이 철수의 카드보다 큰 최소한의 카드를 중복없이 내는 것이다.
처음에는 그냥 시키는 대로 세그트리를 약간 변형해서 풀었다.
하지만 태그를 보니 Bog. 공항 문제 와 비슷하게 Union Find 를 사용하는 풀이가 있었다. 이분탐색으로 최소한의 카드를 찾고 그 카드를 제거하기 위해 그 다음으로 큰 카드와 연결하면 간단히 해결되는 문제였다.
시간복잡도 상으로는 크게 차이가 나지 않고, Sort 를 Bucket Sort 를 사용하면 더 빠르다.
시간 복잡도
O(\(\mathrm{N}\log{\mathrm{N}}\))
코드 1 (UnionFind)
코드 2 (Segment Tree)
댓글남기기