Conteo de strings posible reemplazando dos mismos caracteres consecutivos con un nuevo carácter

String dada str . La tarea es contar el número de todas las strings diferentes posibles si dos mismos caracteres consecutivos de la string pueden ser reemplazados por un carácter diferente. Ejemplos   Entrada: str = «abclll»  Salida: 3  Explicación:  Puede haber 3 strings diferentes, incluida la string original, como se muestra en la siguiente figura: … Continue reading «Conteo de strings posible reemplazando dos mismos caracteres consecutivos con un nuevo carácter»

Consultas para el conteo de elementos de suma de dígitos pares en un rango dado usando el algoritmo de MO

Dada una array arr[] de N elementos, la tarea es responder Q consultas, cada una de las cuales tiene dos números enteros L y R. Para cada consulta, la tarea es encontrar el número de elementos en el subarreglo arr[L…R] cuya suma de dígitos es par. Ejemplos:   Entrada: arr[] = {7, 3, 19, 13, 5, … Continue reading «Consultas para el conteo de elementos de suma de dígitos pares en un rango dado usando el algoritmo de MO»

Recorrido de Euler por el árbol binario

Dado un árbol binario donde cada Node puede tener como máximo dos Nodes secundarios, la tarea es encontrar el recorrido de Euler del árbol binario. El recorrido de Euler está representado por un puntero al Node superior del árbol. Si el árbol está vacío, el valor de la raíz es NULL. Ejemplos:   Aporte :   Salida: … Continue reading «Recorrido de Euler por el árbol binario»

Encuentra la intersección de todos los intervalos

Dados N intervalos de la forma [l, r] , la tarea es encontrar la intersección de todos los intervalos. Una intersección es un intervalo que se encuentra dentro de todos los intervalos dados. Si no existe tal intersección, imprima -1 . Ejemplos:   Entrada: arr[] = {{1, 6}, {2, 8}, {3, 10}, {5, 8}}  Salida: [5, … Continue reading «Encuentra la intersección de todos los intervalos»

Reemplace cada elemento de Array con su rango correspondiente

Dada una array arr[] de N enteros, la tarea es reemplazar cada elemento de la array con su rango en la array . El rango de un elemento se define como la distancia entre el elemento y el primer elemento de la array cuando la array se organiza en orden ascendente. Si dos o más … Continue reading «Reemplace cada elemento de Array con su rango correspondiente»

Recuento de tripletes en una array dada que tiene GCD K

Dada una array de enteros arr[] y un entero K , la tarea es contar todos los tripletes cuyo GCD sea igual a K . Ejemplos:   Entrada: arr[] = {1, 4, 8, 14, 20}, K = 2  Salida: 3  Explicación:  Trillizos (4, 14, 20), (8, 14, 20) y (4, 8, 14) tener GCD igual a … Continue reading «Recuento de tripletes en una array dada que tiene GCD K»

Colorea una cuadrícula de modo que todas las celdas del mismo color estén conectadas horizontal o verticalmente

Dados tres enteros R, C, N y una array arr[] de tamaño N . La tarea es colorear todas las celdas de una cuadrícula de filas R y columnas C de modo que todas las celdas del mismo color estén conectadas horizontal o verticalmente. N representa los colores numerados del 1 al N y arr[] … Continue reading «Colorea una cuadrícula de modo que todas las celdas del mismo color estén conectadas horizontal o verticalmente»

Recuento de formas de distribuir N artículos entre 3 personas con una persona recibiendo el máximo

Dado un número entero N , la tarea es encontrar el número total de formas de distribuir N entre 3 personas tal que:   Exactamente una persona obtiene el número máximo de artículos entre las 3 personas. Cada persona recibe al menos 1 artículo. Ejemplos:   Entrada: N = 5  Salida: 3  Explicación:  Las 3 formas de … Continue reading «Recuento de formas de distribuir N artículos entre 3 personas con una persona recibiendo el máximo»

Dividir un conjunto en dos subconjuntos de manera que se minimice la diferencia entre el máximo de uno y el mínimo del otro

Dada una array arr[] de N enteros, la tarea es dividir la array en dos subconjuntos de modo que la diferencia absoluta entre el máximo del primer subconjunto y el mínimo del segundo subconjunto sea mínima. Ejemplos:   Entrada: arr[] = {3, 1, 2, 6, 4}  Salida: 1  Explicación:  dividir la array dada en dos subconjuntos, … Continue reading «Dividir un conjunto en dos subconjuntos de manera que se minimice la diferencia entre el máximo de uno y el mínimo del otro»

Par con mínima diferencia absoluta después de resolver cada consulta

Dadas las consultas Q y una lista vacía. Las consultas pueden ser de dos tipos:   addToList(x) : Agrega x a tu lista. removeFromList(x) : Elimina x de tu lista. La tarea es, después de cada consulta, imprimir el valor mínimo de abs(lista[i]-lista[j]) donde, 0<=i<=n, 0<=j<=n y i ≠ j y n es el número total de … Continue reading «Par con mínima diferencia absoluta después de resolver cada consulta»