R00429
서브트리와 경로 혼합 질의
레이팅
의견: 0
설명
\(1\)번 정점을 루트로 하는 \(N\)개 정점 트리에서 각 정점 \(v\)에 값 \(a_v\)가 있다. 다음 질의를 처리하라.
1 v x: 정점 \(v\)의 값을 \(x\)로 바꾼다.2 v: 정점 \(v\)의 서브트리(자기 자신 포함)에 속한 모든 정점 값의 합을 출력한다.3 u v: 정점 \(u\)에서 \(v\)까지 경로 위 정점 값들의 합을 출력한다.
제약
\(1 \le N,Q \le 50000\), \(1 \le a_v,x \le 10^9\). 루트는 \(1\)번.
입력 형식
첫 줄에 \(N\). 둘째 줄에 \(a_1 \dots a_N\). 다음 \(N-1\)줄에 간선 \(u\ v\). 다음 줄에 \(Q\). 이후 \(Q\)줄에 질의.
출력 형식
각 2/3 질의의 합을 한 줄에 출력한다.
예제 1
입력
4
5 3 8 2
1 2
1 3
2 4
4
2 2
3 4 3
1 4 10
2 2
출력
5
18
13설명
정점2의 서브트리는 \(\{2,4\}\)로 합 \(3+2=5\). 경로 \(4\to2\to1\to3\) 합은 18. 정점4를 10으로 바꾸면 정점2 서브트리 합은 \(3+10=13\).
예제 2
입력
3
9 94 24
1 2
2 3
3
1 3 82
3 3 1
1 1 48
출력
185설명
작은 사슬에서 서브트리·경로 질의를 섞어 처리한다.
문제 정보
riseoj 작성
출처 Original
태그
평가 및 의견
서브트리와 경로 혼합 질의
개요
Log in to rate problems.
개별 의견
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
서브트리와 경로 혼합 질의
게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다.
로그인하고 제출하기