jh1125kr   4달 전

다른 분 소스를 봐도 비슷한 것 같은데 왜 시간초과가 나는지 모르겠어요 ㅠㅠ


for (q = a; (p = parent[q]) >= 0; q = p);
  s = q;
  for (q = a; (p = parent[q]) >= 0; q = p)
  {
   parent[q] = s;
  }

이부분은 정점의 개수가 적은 트리의 루트가 큰 트리의 루트를 가리키도록 하려고 만들어서

더 시간을 줄이려고 만든건데

왜 시간이 초과되는지 모르겠습니다 ㅠㅠ

유니온 함수 부분이 좀 비효율적인거같습니다.  경로압축을 사용해보세요

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