rk9034   2년 전

유니온파인드를 사용했는데 vector<int> parent, vector<int> mrank 두개의 크기를 각각 1,000,000으로 잡아도 메모리 약 7mb정도밖에 안쓰는데 왜 메모리초과나는지 모르겠습니다..

djm03178   2년 전

Union을 할 때 parent[a]와 parent[b]는 그 집합의 루트라는 보장이 없습니다.

이를 Find(a), Find(b)로 각각 바꿔줘야 합니다.

또한, 이 문제처럼 입력과 출력이 번갈아서 나타나야 하는 경우 sync_with_stdio(false) 뿐만 아니라 cin.tie(NULL)을 해야 빨라집니다.

rk9034   2년 전

아! 그부분에서 틀렸네요 감사합니다 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.