Supongamos que se nos da un gráfico ponderado G (V, E).Ruta más corta en ausencia del borde dado
El gráfico contiene N vértices (numeradas de 0 a N-1) y M bidireccional bordes.
Cada borde (vi, vj) tiene distancia postive d (es decir, la distancia entre los dos vértices vivj es d)
Hay atmost un borde entre dos cualesquiera vértice y también hay no auto bucle (ie.no borde conectar un vértice a sí mismo.)
también se nos da S el vértice fuente y D el vértice de destino.
vamos Q sea el número de consultas, cada una de las consultas contiene un borde e (x, y).
Para cada consulta, tenemos que encontrar la ruta más corta desde la fuente S hasta el destino D, suponiendo que el borde (x, y) está ausente en el gráfico original. Si no existe ninguna ruta de S a D, entonces tenemos que imprimir Nº
Las restricciones son de alta < 0 = (N, Q, M) < = 25000
¿Cómo resolver este problema de manera eficiente?
Hasta ahora lo que hice está implementado el algoritmo simple Dijakstra.
para cada consulta Q, cada vez que estoy asignación (x, y) al infinito y encontrar Dijakstra camino más corto.
Pero este enfoque será muy lento, ya que la complejidad global será Q (complejidad del tiempo de la trayectoria Dijastra Shortes) *
Ejemplo ::
N=6,M=9
S=0 ,D=5
(u,v,cost(u,v))
0 2 4
3 5 8
3 4 1
2 3 1
0 1 1
4 5 1
2 4 5
1 2 1
1 3 3
Total Queries =6
Query edge=(0,1) Answer=7
Query edge=(0,2) Answer=5
Query edge=(1,3) Answer=5
Query edge=(2,3) Answer=6
Query edge=(4,5) Answer=11
Query edge=(3,4) Answer=8
¿Puede explicar cómo se puede calcular 'muy fácilmente 'el problema del corte mínimo? – anukul