1717번 - 집합의 표현
위쪽이 경로 압축을 한 코드,
아래쪽이 경로 압축을 하지 않은 코드입니다.
위쪽은 제대로 나오는 것이 이해가 됩니다... 무척 빠르니까요.
근데, 경로 압축을 쓰지 않더라도 O(m log n) O(n log m) ~ O(107)이니까 나와야 하지 않나요?
혹시나 해서 ios::sync_with_stdio(0); cin.tie(0);도 했습니다...
경로 압축을 하지 않으면 O(m^2)입니다.
_find 연산이 O(log n),
unite 연산이 O(log n)으로 알고 있는데,
혹시 틀렸다면 틀린 부분, 아니면 계산이 틀렸다면 어느 부분 계산인지를 알려주실 수 있나요? ㅠㅠ
size를 가지고 small to large를 하신 것을 못 봤습니다. 로그가 나오는 게 맞고, 실제로 이 코드 그대로 내도 잘 통과됩니다.
저는 시간초과가 났는데요..?!
방금 다시 제출했더니 통과했습니다.
감사합니다!
어딘가 다르게 고치신 곳이 있을 것입니다. 코드의 바이트 수도 매번 다르네요.
싱크 연결 끝는 것을 빼먹었네요 ㄷㄷ
저와 같은 이유로 헤메이신 분들께.
앞으로는 scanf/printf만 사용해야겠습니다. (강요x)
왜냐하면 개구리 점프에서도 이와 똑같은 이유로 틀왜맞을 외쳤기 때문이죠...
그냥 꾸준히 싱크 끊으면서 지냅니당
댓글을 작성하려면 로그인해야 합니다.
dohoon 3년 전
위쪽이 경로 압축을 한 코드,
아래쪽이 경로 압축을 하지 않은 코드입니다.
위쪽은 제대로 나오는 것이 이해가 됩니다... 무척 빠르니까요.
근데, 경로 압축을 쓰지 않더라도 O(m log n)
O(n log m)~ O(107)이니까 나와야 하지 않나요?혹시나 해서 ios::sync_with_stdio(0); cin.tie(0);도 했습니다...