[Python] 백준 1717: 집합의 표현 - disjoint set (Union find)
문제 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 �� www.acmicpc.net 풀이 처음엔 문제에서 설명하는 순서대로 인접리스트를 만들고, set으로 풀었는데 메모리 초과가 났다. 따라서 disjoint set을 사용해서 풀어야하는데 루트배열을 두고 서로 루트가 같으면 같은 집합에 속해있는것으로 판단하면 된다. 먼저 n의 크기의 root 배열을 만들고, i(본인)로 채운다. i 0 1 2 3 4 5 6 7 root[i] 0 1 2 3 4 5 6 7 그 후 a, b 두 집합을 합치기 위해서는 a의 ..
PS/Python
2020. 9. 16. 04:07
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 1644
- 코틀린 뷰페이저
- TextFormField keyboard
- 파이썬 최대공약수
- kotlin fragment
- 시뮬레이터 키보드
- 카카오톡으로 로그인 오류
- 안드로이드
- counting sort
- 코틀린 리스트뷰
- 코틀린 뷰바인딩
- 백준 2003
- flutter simultor
- 투포인터 알고리즘 파이썬
- 안드로이드 키해시
- 프로그래머스
- 전화번호목록 파이썬
- 백준알고리즘
- 코틀린 데이터바인딩
- 데이터바인딩 뷰바인딩 차이
- 카카오 기출
- 백준 1806
- Kotlin
- 소수 구하기 파이썬
- 코틀린
- 백준
- 코틀린 바텀네비게이션
- 안드로이드 카카오톡으로 로그인
- 투포인터 알고리즘
- 카카오 키해시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함