OMI 30° D2-P4: Yarbolica

Ver en PDF

Enviar solución

Puntos: 100 (parcial)
Límite de tiempo: 3.5s
Límite de memoria: 1G

Autor:
Tipo de problema
Lenguajes permitidos
C, C++, Java, Python

Yarbolica es una ciudad única en Jalisco conocida porque, entre cada par de casas, existe un único camino simple. Por estas propiedades, Santiago se dió cuenta de que la estructura de la ciudad puede ser representada como un árbol. Debido a esto, recientemente decidieron renombrarla de Yahualica a Yarbolica. Entre sus habitantes más célebres está Ma Inés - la querida maestra de matemáticas del pueblo. Ella tiene n amigas numeradas del 1 al n que viven en las casas 1, 2, ... , n de Yarbolica respectivamente. Hay n - 1 caminos directos bidireccionales que conectan entre esas n casas.

La maestra y sus amigas, son aficionadas a las telenovelas turcas, y actualmente hay k novelas transmitiéndose en Yarbolica, numeradas de la 1 a la k. La amiga j ha visto algunas de las k novelas, representemos esas novelas con el conjuto C_j. Digamos que la suma total de novelas turcas totales que ha visto alguna de las amigas es s.

Ma Inés ya cumplió 80 y ahora más que nunca le encantaría pasar su tiempo con sus amigas. En el \(i-ésimo\) de los siguientes q días, Ma Inés va a hacer una reunión con todas las amigas que vivan en casas ubicadas en el camino simple entre las casas a_i y b_i, incluyendo a las casas a_i y b_i (recuerda que en Yarbolica hay un único camino simple entre cada par de casas).

Como no le gusta excluir a ninguna amiga, en cada reunión solo van a hablar de las novelas turcas que todas las amigas invitadas vean. Es decir, si Ma Inés hace una reunión con un conjunto D de amigas, solo van a hablar de las novelas que pertenezcan a la intersección de C_d (para todo d en D).

Determina para todos los días i (1 \leq i \leq q) la cantidad de novelas turcas que se hablarán en la reunión i.

Entrada

  • En la primera línea un único entero t - la cantidad de casos de prueba.
  • En la primera línea de cada caso de prueba, 4 enteros n, k, s, q - que representan respectivamente las cantidades de: amigas de Ma Inés, novelas turcas, s y reuniones en total.
  • En la \(i-ésima\) de las siguientes n - 1 líneas, 2 enteros u_i v_i - que representan que en Yarbolica hay un camino directo bidireccional entre las casas u_i y v_i.
  • En la \(i-ésima\) de las siguientes s líneas, 2 enteros x_i c_i - que representa que la amiga x_i ve la novela turca c_i, o dicho de otro modo: c_i \in C_xi . En la \(i-ésima\) de las siguientes q líneas, 2 enteros a_i b_i - los extremos del camino que define a las amigas invitadas a la reunión i.

Salida

Para cada uno de los t casos de prueba, imprime una línea de enteros separados por espacios: la cantidad de novelas turcas que se hablarán durante la reunión 1, 2, ... , q.

Ejemplo

Entrada

2
4 3 6 4
4 2
2 1
3 2
2 3
2 2
2 1
3 1
3 2
4 2
4 1
3 4
2 3
2 2
2 7 13 2
1 2
1 2
1 3
2 1
2 2
2 3
2 4
2 5
2 6
2 7
1 4
1 5
1 6
1 7
2 1
2 2

Salida

0 1 2 3
6 7

Consideraciones

Sea N la suma de n sobre todos los casos de prueba. Similarmente sean K, S, Q las sumas de k, s, q respectivamente sobre todos los casos de prueba.

  • 1 \leq t \leq 10^4.
  • 1 \leq n, k, s, q.
  • \(N,K, S, Q \leq 3 × 10^5\).
  • 1 \leq u_i , v_i \leq n (1 \leq i \leq n - 1).
  • 1 \leq x_i \leq n, 1 \leq c_i \leq k (1 \leq i \leq s).
  • 1 \leq a_i , b_ i \leq n (1 \leq i \leq q).

Subtareas

  • Subtarea 1 (7 puntos): N,K, Q \leq 250, S \leq 10^4.
  • Subtarea 2 (8 puntos): k = 1.
  • Subtarea 3 (8 puntos): k \leq 30, u_i = i, v_i = i+1 y a_j \leq b_j (1 \leq i \leq n-1 , 1 \leq j \leq q). Es decir, el árbol es una línea.
  • Subtarea 4 (6 puntos): k \leq 30.
  • Subtarea 5 (16 puntos): K, Q \leq 5000.
  • Subtarea 6 (16 puntos): N,K, S \leq 5000.
  • Subtarea 7 (16 puntos): u_i = i, v_i = i + 1 y a_j \leq b_j (1 \leq i \leq n - 1 , 1 \leq j \leq q). Es decir, el árbol es una línea.
  • Subtarea 8 (23 puntos): Sin restricciones adicionales.

Comentarios

No hay comentarios por el momento.