QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 512 MB Points totaux : 100

#16487. Punto clave

Statistiques

Se te da un grafo dirigido $G$ con $n$ vértices y $\boldsymbol{n-1}$ aristas dirigidas, y un entero positivo $k$ no mayor que $n$. Se garantiza que, al considerar todas las aristas de $G$ como no dirigidas, el grafo es conexo (es decir, forma un árbol).

Hay $q$ operaciones. Existen cinco tipos de operaciones, con los siguientes parámetros:

  • 1 x y: invierte la dirección de la arista entre los vértices $x$ e $y$. Se garantiza que existe una arista entre los vértices $x$ e $y$;
  • 2 a: invierte la dirección de todas las aristas entrantes del vértice $a$;
  • 3 b: invierte la dirección de todas las aristas salientes del vértice $b$;
  • 4 c: invierte la dirección de todas las aristas entrantes y salientes del vértice $c$;
  • 5 p: cambia el valor de $k$ a $p$.

Una arista entrante del vértice $u$ es una arista dirigida cuyo destino es $u$, y una arista saliente del vértice $u$ es una arista dirigida cuyo origen es $u$.

Debes mantener este grafo dirigido y, antes de la primera operación y después de cada operación, determinar si todos los vértices distintos de $k$ pueden llegar al vértice $k$ siguiendo las aristas dirigidas actuales. Si es así, imprime YES; en caso contrario, imprime NO.

Entrada

La primera línea contiene tres enteros $n,k,q$ ($2 \le n \le 10^6$, $0 \le q \le 10^6$, $1 \le k \le n$).

Cada una de las siguientes $n-1$ líneas contiene dos enteros positivos $u_i,v_i$, que indican una arista entre los vértices $u_i$ y $v_i$: una arista dirigida del vértice $u_i$ al vértice $v_i$ ($1 \le u_i,v_i \le n$).

Cada una de las siguientes $q$ líneas contiene $2\sim3$ enteros positivos que describen una operación. Su significado y formato se indican en la descripción anterior ($1 \le x,y,a,b,c,p \le n$).

Se garantiza que, al considerar todas las aristas de $G$ como no dirigidas, el grafo es conexo (es decir, forma un árbol), y que, al realizar una operación del primer tipo, existe una arista entre los vértices $x$ e $y$.

Salida

Imprime $q+1$ líneas en total. Antes de la primera operación y después de cada operación, determina si todos los vértices distintos de $k$ pueden llegar al vértice $k$ siguiendo las aristas dirigidas actuales. Si es así, imprime YES; de lo contrario, imprime NO.

Ejemplos

Entrada 1

10 10 10
9 10
1 5
3 9
8 9
4 9
7 9
5 4
2 10
6 7
4 5
3 2
3 1
1 10 2
1 5 1
1 4 5
5 4
2 9
1 9 3
2 9

Salida 1

YES
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO

Entrada 2

10 4 10
8 9
2 4
10 5
9 4
3 2
1 2
5 4
6 4
7 8
1 2 1
1 2 1
5 10
1 5 4
1 10 5
3 4
1 5 4
5 2
1 5 10
1 4 5

Salida 2

YES
NO
YES
NO
NO
YES
NO
YES
NO
NO
NO

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.