DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제문제집
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

✧ ✦ 시 험 운 의 불 씨 ✦ ✧

문제로 돌아가기

해설

구간 [L,R][L,R][L,R] 안의 정점과 그 사이의 모든 간선으로 이루어진 유도 부분 그래프를 생각하자.

모든 학생에게 불씨가 도달하려면 이 그래프가 연결되어 있어야 한다. 연결된 그래프에 사이클이 있으면, 시작점에서 사이클에 도달한 불씨가 사이클을 계속 돌 수 있으므로 전달이 끝나지 않는다. 반대로 트리에서는 각 정점까지의 유일한 경로를 따라 불씨가 전달된다. 이때 마지막 전달 시각은 최대 R−L≤N−1R-L \le N-1R−L≤N−1이므로 시간 조건도 만족한다. 따라서 유도 부분 그래프가 트리인 구간의 수를 세면 된다.

작은 입력에서는 모든 구간을 직접 확인할 수 있다. 각 구간에서 BFS를 실행하여 모든 정점에 도달하는지 확인하고, 내부 간선 수가 정점 수보다 하나 작은지도 확인한다. 시간 복잡도는 O(N2(N+M))O(N^2(N+M))O(N2(N+M))이고 공간 복잡도는 O(N+M)O(N+M)O(N+M)이다.

전체 제한에서는 왼쪽 끝 LLL을 고정하고 오른쪽 끝 RRR을 늘리며 DSU로 연결 성분을 관리한다. 새 정점 RRR을 추가한 뒤, L≤u<RL \le u < RL≤u<R인 이웃 uuu와의 간선을 추가한다. 같은 연결 성분 안의 간선을 추가하게 되면 사이클이 생긴다. 이후 을 늘려도 이 사이클은 사라지지 않으므로 해당 의 탐색을 끝낸다. 사이클이 없는 상태에서 연결 성분이 하나라면 정답에 을 더한다. 연결되어 있지 않더라도 나중에 추가되는 정점이 성분을 이어줄 수 있으므로 탐색을 계속해야 한다.

각 정점에는 자신보다 번호가 작은 이웃만 내림차순으로 저장한다. 이웃 번호가 LLL보다 작아지는 즉시 순회를 끝내야 한다. 고정된 LLL에 대해 성공하는 합치기는 최대 N−LN-LN−L번이고, 실패하는 합치기는 최대 한 번이다. 정점 순회와 DSU 초기화를 합쳐 전체 시간 복잡도는 O(Mlog⁡N+N2α(N))O(M\log N + N^2\alpha(N))O(MlogN, 공간 복잡도는 이다.

정답은 최대 N(N+1)/2=50 005 000N(N+1)/2=50\,005\,000N(N+1)/2=50005000이다. DSU 크기는 최대 10 00010\,00010000, 간선 수는 최대 1 000 0001\,000\,0001000000이므로 모든 계산은 부호 있는 비트 정수 범위 안에 있다.

Solution written by GPT6

RRR
LLL
111
+
N2α(N))
O(N+M)O(N+M)O(N+M)
6464
64