Diámetro
Dado un árbol no dirigido ponderado de vértices y una lista de actualizaciones. Cada actualización cambia el peso de una arista. La tarea es generar el diámetro del árbol después de cada actualización.
La distancia entre dos vértices es la suma de los pesos en el único camino simple que los conecta. El diámetro es la mayor de todas esas distancias.
Subtareas
- Subtarea 1 (11 puntos): , .
- Subtarea 2 (13 puntos): , .
- Subtarea 3 (7 puntos): y las aristas del árbol son exactamente todas las aristas válidas de la forma .
- Subtarea 4 (18 puntos): y las aristas del árbol son exactamente todas las aristas válidas de la forma y .
- Subtarea 5 (24 puntos): Se garantiza que después de cada actualización el camino simple más largo pasa por el vértice .
- Subtarea 6 (27 puntos): Sin restricciones adicionales.
Entrada
La primera línea de la entrada contiene tres enteros separados por espacio , y (, , ): el número de vértices en el árbol, el número de actualizaciones y el límite de los pesos de las aristas. Los vértices son numerados desde hasta .
Le siguen líneas que describen el árbol inicial. La ésima de estas líneas contiene tres enteros , , (, ): inicialmente hay una arista entre los vértices y con peso . Está garantizado que estas líneas describen un árbol.
Finalmente, líneas que describen las actualizaciones como sigue. La ésima de estas líneas contiene dos enteros separados por espacio , (, ). Estos enteros son transformados usando el siguiente procedimiento:
donde es el resultado de la última pregunta (inicialmente ). representa una actualización que toma la arista () de la entrada y actualiza su peso con .
Salida
Imprime línea. La ésima línea contiene el diámetro del árbol después de la ésima actualización.
Ejemplos
Entrada 1
4 3 2000
1 2 100
2 3 1000
2 4 1000
2 1030
1 1020
1 890
Salida 1
2030
2080
2050
La imagen de la izquierda muestra el estado inicial del gráfico. Cada imagen siguiente muestra la situación después de una actualización. El peso del borde actualizado está pintado de verde y el diámetro es de rojo.
La primera actualización cambia el peso de la ra arista, es decir, a . La distancia más grande entre cualquier par de vértices es .
Como la respuesta es , la segunda pregunta es:
De ahí el peso de la arista se cambia a . Esto hace que el diámetro sea .
Entrada 2
10 10 10000
1 9 1241
5 6 1630
10 5 1630
2 6 853
10 1 511
5 3 760
8 3 1076
4 10 1483
7 10 40
8 2051
5 6294
5 4168
7 1861
0 5244
6 5156
3 3001
8 5267
5 3102
8 3623
Salida 2
6164
7812
8385
6737
6738
7205
6641
7062
6581
5155
Comments