¿Cómo implementar la caché de búsqueda de DNS directo?

Hemos discutido la implementación de la caché de búsqueda inversa de DNS . La búsqueda directa de DNS está obteniendo la dirección IP para un nombre de dominio dado escrito en el navegador web. El caché debe realizar las siguientes operaciones: 1. Agregar una asignación de URL a dirección IP 2. Buscar la dirección IP … Continue reading «¿Cómo implementar la caché de búsqueda de DNS directo?»

LCA para árboles generales o n-arios (enfoque de array dispersa DP)

En publicaciones anteriores, hemos discutido cómo calcular el ancestro común más bajo (LCA) para un árbol binario y un árbol de búsqueda binaria ( this , this y this ). Ahora veamos un método que puede calcular LCA para cualquier árbol (no solo para árboles binarios). Utilizamos la programación dinámica con el enfoque de array … Continue reading «LCA para árboles generales o n-arios (enfoque de array dispersa DP)»

Substring con producto de longitud de frecuencia más alta

Dada una string que contiene caracteres alfabéticos inferiores, necesitamos encontrar una substring de esta string cuyo producto de longitud y frecuencia en la string sea el máximo entre todas las opciones posibles de substrings.  Ejemplos:  Input : String str = “abddab” Output : 6 All unique substring with product of their frequency and length are, … Continue reading «Substring con producto de longitud de frecuencia más alta»

Suma sobre subconjuntos | Programación dinámica

Requisito previo: programación dinámica básica , máscaras  de bits Considere el siguiente problema en el que usaremos la suma sobre el subconjunto de programación dinámica para resolverlo. Dada una array de 2 n enteros, necesitamos calcular la función F(x) = ∑A i tal que x&i==i para todo xie, i es un subconjunto bit a bit de … Continue reading «Suma sobre subconjuntos | Programación dinámica»

encontrar_por_orden() en C++

Estructura de datos basada en políticas de conjuntos ordenados integrada Conjunto ordenado es una estructura de datos basada en políticas en g ++ que mantiene elementos únicos en orden ordenado. Realiza todas las operaciones realizadas por Set en STL en complejidad  O (logN) . Además de eso, las siguientes dos operaciones también se realizan en … Continue reading «encontrar_por_orden() en C++»

Inserción en lista enlazada desenrollada

Una lista enlazada desenrollada es una lista enlazada de arrays pequeñas, todas del mismo tamaño donde cada una es tan pequeña que la inserción o eliminación es rápida y rápida, pero lo suficientemente grande como para llenar la línea de caché. Un iterador que apunta a la lista consiste en un puntero a un Node … Continue reading «Inserción en lista enlazada desenrollada»

Maximice la longitud del subarreglo más largo que consta de los mismos elementos en un máximo de K decrementos

Dada una array arr[] de tamaño N y un número entero K , la tarea es encontrar la longitud del subarreglo más largo que consta de los mismos elementos que se pueden obtener al disminuir los elementos de la array en 1 como máximo K veces. Ejemplo: Entrada: arr[] = { 1, 2, 3 }, … Continue reading «Maximice la longitud del subarreglo más largo que consta de los mismos elementos en un máximo de K decrementos»

Lista vinculada XOR: elimina el primer Node de la lista vinculada

Dada una lista enlazada XOR , la tarea es eliminar el primer Node de la lista enlazada XOR. Ejemplos: Entrada: XLL = 4 < – > 7 < – > 9 < – > 7 Salida: 7 < – > 9 < – > 7 Explicación: Eliminar el primer Node de la lista enlazada XOR … Continue reading «Lista vinculada XOR: elimina el primer Node de la lista vinculada»

Partición de la string en dos substrings con un número máximo de caracteres comunes que no se repiten

Dada una string str , la tarea es encontrar la cantidad máxima de caracteres comunes que no se repiten que se pueden obtener dividiendo la string dada en dos substrings no vacías . Ejemplos: Entrada: str = “aabbca”  Salida: 2  Explicación:  Particione la string en dos substrings { { str[0], … str[2] }, { str … Continue reading «Partición de la string en dos substrings con un número máximo de caracteres comunes que no se repiten»

Consultas para verificar si existe algún elemento que no se repita dentro del rango [L, R] de una array

Dada una array arr[] que consiste en números enteros y consultas Q de la forma (L, R) , la tarea es verificar si algún elemento que no se repite está presente dentro de los índices [L, R] (indexación basada en 1) o no. Si hay al menos un elemento que no se repite, imprima «Sí» … Continue reading «Consultas para verificar si existe algún elemento que no se repita dentro del rango [L, R] de una array»