QOJ.ac

QOJ

Time Limit: 6 s Memory Limit: 1024 MB Total points: 100

#1163. Un autre problème de requêtes sur les arbres

Statistics

Vous disposez d'un arbre à $N$ sommets. Les sommets sont numérotés par des entiers séquentiels de $1$ à $N$, et le $i$-ième sommet contient la variable $A_i$. Initialement, $A_i = 0$ ($1 \le i \le N$).

Vous devez traiter $Q$ requêtes. Chaque requête est l'une des suivantes :

  • "1 $u$ $v$" : Enraciner l'arbre au sommet $u$, considérer le sous-arbre du sommet $v$, et pour chaque sommet $i$ dans le sous-arbre de $v$, augmenter $A_i$ de un.
  • "2 $u$ $v$" : Pour chaque sommet $i$ sur l'unique chemin simple allant de $u$ à $v$, augmenter $A_i$ de un.
  • "3 $v$" : Afficher $\sum_{i=1}^{N} \text{dist}(v, i) \cdot A_i$, où $\text{dist}(x, y)$ est le nombre d'arêtes sur le chemin allant du sommet $x$ au sommet $y$.

Entrée

La première ligne contient un entier $N$, le nombre de sommets ($1 \le N \le 2 \cdot 10^5$).

Les $N - 1$ lignes suivantes contiennent la description de l'arbre. Chacune de ces lignes contient deux entiers $u$ et $v$ séparés par un espace, signifiant qu'il existe une arête reliant $u$ et $v$ ($1 \le u, v \le N$). Il est garanti que le graphe résultant est un arbre.

La ligne suivante contient un entier $Q$, le nombre de requêtes ($1 \le Q \le 2 \cdot 10^5$).

Les $Q$ lignes suivantes contiennent les requêtes, une par ligne. Chaque requête est donnée dans l'un des formats décrits ci-dessus ($1 \le u, v \le N$). Vous pouvez supposer qu'il y a au moins une requête de type "3".

Sortie

Pour chaque requête de type "3", affichez le résultat sur une ligne séparée.

Exemples

Entrée 1

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

Sortie 1

1
5

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.