Programa Python3 para consultas LCM de rango

Dada una array de enteros, evalúe consultas de la forma LCM(l, r). Puede haber muchas consultas, por lo tanto, evalúe las consultas de manera eficiente.   LCM (l, r) denotes the LCM of array elements that lie between the index l and r (inclusive of both indices) Mathematically, LCM(l, r) = LCM(arr[l], arr[l+1] , ……… , … Continue reading «Programa Python3 para consultas LCM de rango»

Reemplace todas las apariciones de X por Y para consultas Q en una array dada

Dada una array arr[] y una consulta de array 2D [][] que consta de consultas. Para cada consulta q , reemplace todas las ocurrencias de query[i][0] en arr[] , con query[i][1] . Ejemplos: Entrada: arr[] = {2, 2, 5, 1} consulta = {{2, 4}, {5, 2}} Salida: {4, 4, 2, 1} Explicación: Las siguientes son … Continue reading «Reemplace todas las apariciones de X por Y para consultas Q en una array dada»

Consultas para contar números de un rango dado que son divisibles por todos sus dígitos

Dada una array 2D arr[][] con cada fila de la forma de una consulta { L, R } , la tarea es contar los números en el rango [L, R] de modo que el número sea divisible por todos sus no -cero dígito. Ejemplos: Entrada: arr[][] ={ {1, 5}, {12, 14} }  Salida: 5 1  … Continue reading «Consultas para contar números de un rango dado que son divisibles por todos sus dígitos»

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»

Consultas para encontrar el último carácter no repetido en la substring de una string dada

Dada una string str , la tarea es responder consultas Q donde cada consulta consta de dos números enteros L y R y tenemos que encontrar el último carácter que no se repite en la substring str[L…R] . Si no hay ningún carácter que no se repita, imprima -1 . Ejemplos:   Entrada: str = “GeeksForGeeks”, … Continue reading «Consultas para encontrar el último carácter no repetido en la substring de una string dada»

Algoritmo de MO (descomposición de raíz cuadrada de consulta) | Serie 1 (Introducción)

Consideremos el siguiente problema para entender el Algoritmo de MO. Nos dan una array y un conjunto de rangos de consulta, debemos encontrar la suma de cada rango de consulta. Ejemplo:  Input: arr[] = {1, 1, 2, 1, 3, 4, 5, 2, 8}; query[] = [0, 4], [1, 3] [2, 4] Output: Sum of arr[] … Continue reading «Algoritmo de MO (descomposición de raíz cuadrada de consulta) | Serie 1 (Introducción)»

Propagación perezosa en el árbol de segmentos

El árbol de segmentos se introdujo en una publicación anterior con un ejemplo de problema de suma de rangos. Hemos utilizado el mismo problema de «Suma del rango dado» para explicar la propagación perezosa   CPP /* A recursive function to update the nodes which have the given    index in their range. The following are parameters … Continue reading «Propagación perezosa en el árbol de segmentos»

Consultas para calcular la suma de los cuadrados de los valores ASCII de los caracteres de una substring con actualizaciones

Dada una string S de longitud N y una array 2D de strings Q[][] que consta de M consultas del siguiente tipo: Consulta («U», «I», «X»): actualice el carácter en el índice I con el carácter X . Query(“S”, “L”, “R”): Imprime la suma de los cuadrados de la posición de los caracteres en la … Continue reading «Consultas para calcular la suma de los cuadrados de los valores ASCII de los caracteres de una substring con actualizaciones»

Número de números primos en un subarreglo (con actualizaciones)

Dada una array de N enteros, la tarea es realizar las siguientes dos consultas:  query(start, end) : Imprime el número de números primos en el subarreglo de principio a fin  update(i, x) : actualiza el valor en el índice i a x, es decir, arr[i] = x Ejemplos:   Input : arr = {1, 2, 3, … Continue reading «Número de números primos en un subarreglo (con actualizaciones)»

Consulta de rango para el recuento de bits establecidos

Dada una array de enteros positivos y q consulta que contiene dos enteros, L & R. La tarea es encontrar el número de bits establecidos para un rango dado. Requisito previo: Bitwise Hacks Ejemplos:  Input : Arr[] = { 1, 5, 6, 10, 9, 4 } Query : 2 L & R 1 5 2 … Continue reading «Consulta de rango para el recuento de bits establecidos»