Árbol de expansión con grado máximo (usando el algoritmo de Kruskal)

Dado un gráfico conectado no ponderado no dirigido que consta de n vértices y m aristas. La tarea es encontrar cualquier árbol de expansión de este gráfico tal que el grado máximo sobre todos los vértices sea el máximo posible. El orden en que imprima los bordes de salida no importa y un borde también … Continue reading «Árbol de expansión con grado máximo (usando el algoritmo de Kruskal)»

Camino más corto en un gráfico dirigido por el algoritmo de Dijkstra

Dado un gráfico dirigido y un vértice de origen en el gráfico, la tarea es encontrar la distancia y la ruta más cortas desde el origen hasta el vértice de destino en el gráfico dado donde los bordes se ponderan (no son negativos) y se dirigen desde el vértice principal hasta los vértices de origen. … Continue reading «Camino más corto en un gráfico dirigido por el algoritmo de Dijkstra»

Mínimo divisor D de N tal que mcd(D, M) es mayor que 1

Dados dos enteros positivos N y M ., la tarea es encontrar el divisor más pequeño D de N tal que mcd(D, M) > 1 . Si no hay tales divisores, imprima -1. Ejemplos:   Entrada: N = 8, M = 10  Salida: 2 Entrada: N = 8, M = 1  Salida: -1  Un enfoque ingenuo es … Continue reading «Mínimo divisor D de N tal que mcd(D, M) es mayor que 1»

Consultas para encontrar el par máximo de productos en el rango con actualizaciones

Dada una array de N enteros positivos. La tarea es realizar las siguientes operaciones según el tipo de consulta dada. 1. Imprime el par máximo de productos en un rango dado. [LR]  2. Actualizar A i con algún valor dado. Ejemplos:   Entrada: A={1, 3, 4, 2, 5}  Consultas:  Tipo 1: L = 0, R = 2.  Tipo … Continue reading «Consultas para encontrar el par máximo de productos en el rango con actualizaciones»

Evite TLE en Python en la programación competitiva

Razones para obtener TLE : Es más lento en comparación con otros lenguajes de programación. Ofrece entradas/salidas más lentas . Tiene una profundidad de recursión más baja que a menudo da TLE en problemas de recursión y gráficos . Consejos para evitar TLE con Python : Convertir a un enfoque iterativo : Cualquier problema de … Continue reading «Evite TLE en Python en la programación competitiva»

Formas de eliminar TLE

Al resolver problemas en cualquier juez en línea, a veces se puede exceder el límite de tiempo . A continuación se muestran algunas de las formas de optimizar el código: Minimice el uso de bucles dentro de bucles, es decir, bucles anidados : por ejemplo: for(i = 0 ; i < n ; i++) { … Continue reading «Formas de eliminar TLE»

Rangos de tipos de datos y sus macros en C++

La mayoría de las veces, en la programación competitiva, existe la necesidad de asignar a la variable, el valor máximo o mínimo que puede contener el tipo de datos, pero recordar un número tan grande y preciso resulta un trabajo difícil. Por lo tanto, C++ tiene ciertas macros para representar estos números, de modo que … Continue reading «Rangos de tipos de datos y sus macros en C++»

Encuentre enteros distintos para un triplete con un producto dado

Dado un entero X , la tarea es encontrar los tres enteros distintos mayores que 1 , es decir , A , B y C tales que (A * B * C) = X. Si no existe tal triplete, imprima -1 . Ejemplos:  Entrada: X = 64  Salida: 2 4 8  (2 * 4 * … Continue reading «Encuentre enteros distintos para un triplete con un producto dado»

Equilibre los paréntesis para el número dado N

Dado un número N , la tarea es insertar el número mínimo de paréntesis de apertura y cierre en el número N de modo que la string resultante esté equilibrada y cada dígito D esté exactamente en D pares de paréntesis coincidentes. Ejemplos: Entrada: N = 312 Salida: (((3))1(2)) Explicación: Cada dígito en el número … Continue reading «Equilibre los paréntesis para el número dado N»

Consultas de elementos que tienen valores dentro del rango A a B utilizando el algoritmo de MO

Prerrequisitos: Algoritmo de MO , Descomposición SQRT Dada una array arr[] de N elementos y dos números enteros A a B , la tarea es responder Q consultas, cada una de las cuales tiene dos números enteros L y R. Para cada consulta, encuentre el número de elementos en el subarreglo arr[L, R] que se … Continue reading «Consultas de elementos que tienen valores dentro del rango A a B utilizando el algoritmo de MO»