문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6160 : Heavy Light Decomposition 기초

•시간제한: 2.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

6160 : Heavy Light Decomposition 기초

시간 2.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

트리에서 특정 노드의 가중치를 변경하는 연산과 임의의 두 노드 u, v를 잇는 최단 경로 상의 모든 노드의 가중치 합을 구하는 연산을 HLD(Heavy Light Decomposition)와 세그먼트 트리를 결합하여 효율적으로 처리하는 프로그램을 작성하시오.

입력 설명

첫째 줄에 노드의 개수 N과 쿼리의 개수 Q (1 ≤ N, Q ≤ 100,000)가 주어집니다.
둘째 줄에 N개의 초기 가중치가 공백으로 구분되어 주어집니다.
셋째 줄부터 N-1개의 줄에 간선 정보 u, v가 주어집니다.
그 다음 Q개의 줄에 쿼리가 주어집니다.
- 1 u val: u번 노드의 가중치를 val로 변경합니다.
- 2 u v: u에서 v까지의 경로 상 노드들의 가중치 합을 구합니다.

출력 설명

2번 쿼리가 주어질 때마다 해당하는 경로의 가중치 합을 한 줄씩 출력합니다.

입력 예시
COPY
복사되었습니다!

5 4
1 2 3 4 5
1 2
1 3
2 4
2 5
2 4 5
1 2 10
2 4 5
2 1 3

출력 예시
COPY
복사되었습니다!

0
0
0

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘