QOJ.ac

QOJ

Limite de temps : 4 s Limite de mémoire : 1024 MB Points totaux : 100

#18826. 트리와 쿼리 23

Statistiques

$N$ 개의 정점으로 이루어진 트리가 있다. 정점은 $0$번부터 $N-1$ 번까지 번호가 매겨져 있다. 추가로, 길이 $N$ 의 정수 수열 $A_0, A_1, \ldots, A_{N - 1}$ 이 주어진다.

$0 \le l < r \le N$ 을 만족하는 정수 $l, r$, 그리고 정점 $v, d$, 음이 아닌 정수 $k$ 에 대해 $f(l, r, v, d, k) = 10^{-999999999} dist(v, d) + \sum_{i = l}^{r - 1} (A_i + k) dist(v, i)$ 로 정의하자. 여기서 $dist(a, b)$ 는 두 정점 $a, b$ 를 잇는 최단 경로의 길이이다.

다음과 같은 쿼리를 수행해야 한다.

  • l r d k: $f(l, r, v, d, k)$ 를 최소화하는 $v$ 를 출력하라. 이러한 $v$ 가 유일함을 증명할 수 있다.

쿼리는 온라인으로 주어짐에 유의하라. 자세한 것은 입력 부분을 참고하면 된다.

입력

첫째 줄에 트리의 크기 $N$이 주어진다. ($1 \le N \le 150{,}000$)

다음 $N-1$ 개의 줄에 두 정수 $u, v$ 가 주어진다. 두 정점 $u, v$를 잇는 간선이 존재함을 뜻한다. ($0 \le u, v \le N-1$)

다음 줄에 수열 $A_0, A_1, \ldots, A_{n-1}$ 이 주어진다. ($0 \le A_i \le 150{,}000$)

다음 줄에 쿼리의 개수 $Q$가 주어진다. ($1 \le Q \le 150{,}000$)

다음 $Q$개의 줄에 네 정수 $a, b, z, d$가 주어진다. ($0 \le a, b, d \le n - 1, 0 \le z \le 150{,}000$)

$X_i$ 를 $i$ 번 쿼리에 대한 답이라고 하자 ($0 \le i \le Q - 1$). $i$ 번 쿼리에 대해, $l, r, k$ 는 다음과 같은 식에 의해 복원할 수 있다. $d$ 는 입력으로 주어진 것을 그대로 사용하면 된다.

  • $a^\prime = (a + \sum_{j = 0}^{i - 1} X_j) \text{ mod } N$
  • $b^\prime = (b + 2 \sum_{j = 0}^{i - 1} X_j) \text{ mod } N$
  • $k = (z + (\sum_{j = 0}^{i - 1} X_j)^2) \text{ mod } 150\,001$
  • $l = min(a^\prime, b^\prime)$
  • $r = 1 + max(a^\prime, b^\prime)$

출력

$Q$ 개의 줄에 걸쳐 문제의 정답을 출력하라.

Sample

Input

5
0 1
1 3
3 2
3 4
1000 10 1 100 10000
15
0 0 0 0
0 1 150000 1
2 0 0 2
3 0 150000 3
4 2 150000 4
1 1 149975 0
0 0 149965 1
1 2 149951 2
1 4 149901 3
3 4 149804 4
2 0 149745 0
3 1 149639 1
1 4 149517 2
4 3 149375 3
0 1 149160 4

Output

0
0
0
1
4
1
1
3
4
2
3
3
3
4
4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.