Minimizar el costo de dividir un número

Dado un número entero N ≥ 2 , puede dividir el número como una suma de k enteros, es decir , N = k1 + k2 + … + kn donde cada k-ésimo elemento es ≥ 2 , entonces el costo de dividir se calcula como maxDiv(k1) + maxDiv( k2) + … + maxDiv(kn) donde … Continue reading «Minimizar el costo de dividir un número»

ordenar() frente a orden_parcial() frente a nth_element() + ordenar() en C++ STL

En este artículo, discutiremos la diferencia entre sort() , shared_sort( ) y nth_element() +sort(). A continuación se muestra la ilustración de las funciones anteriores: sort(): C++ STL proporciona una función sort() que ordena una lista de elementos en tiempo O(N*log N). De forma predeterminada, sort() ordena una array en orden ascendente. A continuación se muestra … Continue reading «ordenar() frente a orden_parcial() frente a nth_element() + ordenar() en C++ STL»

Suma de cada número primo K’th en una array

Dada una array de números enteros (menos de 10^6), la tarea es encontrar la suma de todos los números primos que aparecen después de cada (k-1) número primo,  es decir, cada K-ésimo número primo de la array. Ejemplos:   Input : Array : 2, 3, 5, 7, 11 ; n=5; k=2 Output : Sum = 10 … Continue reading «Suma de cada número primo K’th en una array»

Cuente los elementos en la primera array con una diferencia absoluta mayor que K con un elemento en la segunda array

Dadas dos arrays arr1[] y arr2[] y un entero K , nuestra tarea es encontrar los elementos numéricos en la primera array, para un elemento x, en arr1[] , existe al menos un elemento y, en arr2[] tal que la diferencia absoluta de x e y es mayor que el entero K . Ejemplos:  Entrada: … Continue reading «Cuente los elementos en la primera array con una diferencia absoluta mayor que K con un elemento en la segunda array»

Cuente substrings distintas que contienen algunos caracteres como máximo k veces

Dado un entero k y una string str , la tarea es contar el número de substrings distintas de modo que cada substring no contenga algunos caracteres específicos más de k veces. Los caracteres específicos se dan como otra string. Ejemplos:   Entrada: str = “ababab”, anotherStr = “bcd”, k = 1  Salida: 5  Todas las … Continue reading «Cuente substrings distintas que contienen algunos caracteres como máximo k veces»

BFS usando STL para codificación competitiva

Una implementación simple basada en STL de BFS usando cola y vector en STL. La lista de adyacencia se representa mediante vectores de vector.  En BFS, comenzamos con un Node. Cree una cola y ponga en cola la fuente en ella.  Marcar fuente como visitada. Si bien la cola no está vacía, haga lo siguiente … Continue reading «BFS usando STL para codificación competitiva»

Número más pequeño con suma de dígitos como N y divisible por 10^N

Encuentra el número más pequeño tal que la suma de sus dígitos sea N y sea divisible por  . Ejemplos:   Input : N = 5 Output : 500000 500000 is the smallest number divisible by 10^5 and sum of digits as 5. Input : N = 20 Output : 29900000000000000000000 Explicación Para hacer un número … Continue reading «Número más pequeño con suma de dígitos como N y divisible por 10^N»

Verifique si el Triángulo de Pascal es posible con una capa completa usando números hasta N

Dado un número N , la tarea es determinar si es posible hacer el triángulo de Pascal con una capa completa usando el número total N entero si es posible imprimir Sí de lo contrario imprimir No. Nota: el triángulo de Pascal es una array triangular de los coeficientes binomiales. Las siguientes son las primeras … Continue reading «Verifique si el Triángulo de Pascal es posible con una capa completa usando números hasta N»

Propagación diferida en el árbol de segmentos | conjunto 2

Dada una array arr[] de tamaño N . Hay dos tipos de operaciones:   Actualizar (l, r, x): Incremente el a[i] (l <= i <= r) con el valor x. Query(l, r) : encuentre el valor máximo en la array en un rango de l a r (ambos están incluidos). Ejemplos:   Entrada: arr[] = {1, 2, … Continue reading «Propagación diferida en el árbol de segmentos | conjunto 2»

Contando inversiones en un subarreglo

Dada una array arr[] , el objetivo es contar el número de inversiones en todas las sub-arrays. Una inversión es un par de índices i y j tales que i > j y arr[i] < arr[j] . Un subarreglo del índice x al y (x<= y) consiste en el elemento arr[x], arr[x+1], …, arr[y] . … Continue reading «Contando inversiones en un subarreglo»