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»

Consultas para encontrar frecuencias de una string dentro de substrings especificadas

Dada una string S y una array Q de consultas, cada una especificando los índices inicial y final L( = Q[i][0]) y R( = Q[i][0]) respectivamente de una substring de S, la tarea es encontrar la frecuencia de la string K en la substring [L, R] . Nota: Los rangos siguen la indexación basada en … Continue reading «Consultas para encontrar frecuencias de una string dentro de substrings especificadas»

Clasificación por fusión frente a clasificación por inserción

Requisito previo: clasificación por fusión , clasificación por inserción  Merge Sort :es un algoritmo externo y se basa en la estrategia divide y vencerás. En estaclasificación:   Los elementos se dividen en dos subarreglos (n/2) una y otra vez hasta que solo queda un elemento. La ordenación por combinación utiliza almacenamiento adicional para ordenar la array … Continue reading «Clasificación por fusión frente a clasificación por inserción»

Encuentre el número de segmentos que cubren cada punto en una array dada

Dados los segmentos y algunos puntos, para cada punto encuentre el número de segmentos que cubren ese punto. Un segmento (l, r) cubre un punto x si y solo si l < = x < = r . Ejemplos:  Entrada: Segmentos = {{0, 3}, {1, 3}, {3, 8}},  Puntos = {-1, 3, 8}. Salida: {0, … Continue reading «Encuentre el número de segmentos que cubren cada punto en una array dada»

String lexicográficamente más pequeña formada al eliminar como máximo un carácter

Dada una string str , la tarea es encontrar la string lexicográficamente más pequeña que se puede formar eliminando como máximo un carácter de la string dada.  Ejemplos:  Input: str = «abcda» Output: abca One can remove ‘d’ to get «abca» which is the lexicographically smallest string possible. Input: str = «aaa’ Output: aa Enfoque … Continue reading «String lexicográficamente más pequeña formada al eliminar como máximo un carácter»