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

6159 : 트리 플래트닝

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

6159 : 트리 플래트닝

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

문제 설명

트리의 각 노드에 가중치가 주어져 있습니다. 특정 노드의 가중치를 변경하는 연산과 특정 노드를 루트로 하는 서브트리 내의 모든 노드의 가중치 합을 구하는 연산을 효율적으로 처리하는 프로그램을 작성하시오.

입력 설명

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

출력 설명

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

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

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

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

0
0
0

출처/분류

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