아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

스프링클러

시간 제한4초메모리 제한1024 MB

요약
트리의 각 땅에 있는 밀의 높이를 관리합니다. 정점 X에서 거리 D 이내의 밀 높이에 W를 곱해 L로 나눈 나머지로 바꾸고, 특정 땅의 높이를 묻는 질의에 답합니다.
난이도

어려움10점 중 8점

유형
트리, DFS, 세그먼트 트리, 수학
정답자
아직 제출이 없습니다

문제

JOI 군은 집 텃밭에서 여러 해 동안 채소를 길러 왔다. 이제 그는 IOI 농장을 관리하려 한다.

IOI 농장에는 1번부터 NN번까지 번호가 붙은 땅 NN개가 있다. 1번부터 N−1N-1번까지 번호가 붙은 도로 N−1N-1개가 있다. ii번 도로는 땅 AiA_i와 땅 BiB_i를 양방향으로 잇는다. 도로를 따라 어느 땅에서든 다른 어느 땅으로든 갈 수 있다.

모든 땅에는 스프링클러가 하나씩 있다. 스프링클러는 주변 땅에 물을 뿌린다.

JOI 군은 JOI 수수를 키운다. 이 식물은 물을 주는 즉시 키가 변한다. 그런데 약하다. 키가 LL 이상이 되면 길이 LL만큼의 윗부분이 곧바로 부러지고, JOI 군은 부러진 부분을 거둬들인다.

처음에 JOI 군은 땅 jj에 키가 HjH_j인 JOI 수수를 심는다(1≤j≤N1 \le j \le N). 그 뒤 QQ일 동안 매일 수수를 돌본다. kk일째에는 다음 중 하나를 한다.

  • 1형: JOI 군은 땅 XkX_k의 스프링클러를 사용해, XkX_k로부터의 거리가 DkD_k 이하인 모든 땅에 물을 준다. 물을 받은 수수의 키는 WkW_k배가 된다. 다만 부러지는 규칙 때문에, 키가 hh인 수수에 물을 주면 최종 키는 h×Wkh \times W_k를 LL로 나눈 나머지가 된다.
  • 2형: JOI 군은 땅 XkX_k에 있는 수수의 키를 잰다.

두 땅 사이의 거리는 한 땅에서 다른 땅까지 이르는 경로가 지나는 도로 수의 최솟값이다.

입력

N L
A_1 B_1
A_2 B_2
...
A_{N-1} B_{N-1}
H_1
H_2
...
H_N
Q
질의 1
...
질의 Q

각 질의는 다음 중 하나의 줄이다.

  • 1형 행동은 1 X D W 형식이다.
  • 2형 행동은 2 X 형식이다.

출력

2형 행동마다, 그날 측정한 땅 XkX_k의 수수 키를 입력 순서대로 한 줄에 하나씩 출력한다.

제한

  • 2≤N≤2000002 \le N \le 200000
  • 2≤L≤1092 \le L \le 10^9
  • 1≤Ai<Bi≤N1 \le A_i < B_i \le N (1≤i≤N−11 \le i \le N-1)
  • 도로를 따라 어느 땅에서든 다른 어느 땅으로든 갈 수 있다.
  • 0≤Hj≤L−10 \le H_j \le L-1 (1≤j≤N1 \le j \le N)
  • 1≤Q≤4000001 \le Q \le 400000
  • TkT_k는 1 또는 2이다 (1≤k≤Q1 \le k \le Q).
  • Tk=1T_k = 1이면 1≤Xk≤N1 \le X_k \le N, 0≤Dk≤400 \le D_k \le 40, 0≤Wk≤L−10 \le W_k \le L-1이다.
  • Tk=2T_k = 2이면 1≤Xk≤N1 \le X_k \le N이다.

예제3

  1. 예제 1

    입력
    4 7
    1 2
    2 3
    3 4
    1
    1
    1
    1
    11
    1 2 1 2
    1 1 0 2
    2 1
    2 2
    2 3
    2 4
    1 4 10 2
    2 1
    2 2
    2 3
    2 4
    
    예상 출력
    4
    2
    2
    1
    1
    4
    4
    2
    
  2. 예제 2

    입력
    6 10
    5 6
    1 2
    1 4
    2 6
    3 6
    9
    2
    3
    4
    9
    1
    10
    1 5 1 7
    2 4
    1 4 1 9
    1 5 0 7
    2 1
    1 1 1 3
    1 6 1 4
    2 5
    2 4
    2 3
    
    예상 출력
    4
    1
    4
    8
    2
    
  3. 예제 3

    입력
    8 10
    1 3
    3 5
    4 7
    6 7
    4 5
    7 8
    2 4
    5
    8
    6
    4
    6
    2
    9
    3
    11
    1 2 2 0
    2 1
    1 6 1 0
    2 4
    2 6
    1 5 2 0
    2 8
    1 7 2 0
    2 6
    2 7
    2 4
    
    예상 출력
    5
    0
    0
    3
    0
    0
    0