Editorial for Ciclo más corto
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Lo más importante en esta tarea es notar que si cualquier bit contiene al menos números, entonces formarán un ciclo de longitud , y la respuesta es .
Supongamos ahora que cada bit no tiene más de dos números. De ello se deduce que cada bit puede ser compartido como máximo por un par de números. De aquí obtenemos que en el grafo no hay más de aristas. Luego, en él puedes encontrar el ciclo más corto en : para cada arista entre los vértices y intentaremos eliminarla y encontrar la distancia más corta entre los vértices y en el gráfico resultante. Si todas las veces y resultaron estar en componentes diferentes, entonces no hay ciclo en el grafo; de lo contrario, su longitud es :
1 + la mínima de las distancias encontradas.
Complejidad .
Si no se realizo la primera observación, se puede realizar el mismo algoritmo al grafo original y la complejidad seria lo cual es suficiente para la primera subtarea.
Comments