XOR de elementos en un rango dado con actualizaciones usando Fenwick Tree

Dada una array A[] de enteros y una array Q que consta de consultas de los siguientes dos tipos: (1, L, R) : Devuelve XOR de todos los elementos presentes entre los índices L y R . (2, I, val) : actualice A[I] a A[I] XOR val . La tarea es resolver cada consulta e … Continue reading «XOR de elementos en un rango dado con actualizaciones usando Fenwick Tree»

Determine el ganador del juego colocando las bolas en fila

Dada la cantidad de bolas pequeñas y grandes N y M respectivamente, la tarea es encontrar qué jugador gana si tanto el jugador X como el Y juegan de manera óptima al realizar los siguientes dos movimientos: El jugador X intentará mantener el mismo tipo de bola , es decir, pequeña seguida de otra bola … Continue reading «Determine el ganador del juego colocando las bolas en fila»

Números mínimos con el lugar de uno como 9 que se sumarán para obtener N

Dado un número entero N , la tarea es encontrar el recuento mínimo de números que se deben sumar para obtener N . (Todos esos números deben tener 9 como dígito de uno) Ejemplos:  Entrada: N = 27  Salida: 3  27 = 9 + 9 + 9 Entrada: N = 109  Salida: 1  109 en … Continue reading «Números mínimos con el lugar de uno como 9 que se sumarán para obtener N»

Recuento de elementos que forman un bucle en un Array según las restricciones dadas

Dada una array A que contiene N enteros, la tarea es contar el número de elementos que forman un ciclo en la array, según la siguiente condición. Comience a recorrer el Array desde el índice i y salte al siguiente índice conectado. Un borde dirigido sale del índice i de A al índice j si j … Continue reading «Recuento de elementos que forman un bucle en un Array según las restricciones dadas»

Espacio Auxiliar con Funciones Recursivas

Requisito previo: la memoria de recursividad utilizada por un programa a veces es tan importante como el tiempo de ejecución, especialmente en entornos restringidos, como los dispositivos móviles. Por ejemplo, si necesitamos crear una array de tamaño n, requerirá espacio O(n). Si necesitamos una array bidimensional de tamaño nxn, requerirá O(n 2 ). El espacio de pila … Continue reading «Espacio Auxiliar con Funciones Recursivas»

Recursión de cola

¿Qué es la recursión de cola? Una función recursiva es recursiva de cola cuando una llamada recursiva es lo último que ejecuta la función. Por ejemplo, la siguiente función de C++ print() es recursiva de cola.  C // An example of tail recursive function void print(int n) {     if (n < 0)  return;     cout << » … Continue reading «Recursión de cola»

Análisis de Algoritmos | Conjunto 2 (peor, promedio y mejores casos)

En la publicación anterior , discutimos cómo el análisis asintótico supera los problemas de la forma ingenua de analizar algoritmos. En esta publicación, tomaremos un ejemplo de búsqueda lineal y lo analizaremos utilizando el análisis asintótico. Podemos tener tres casos para analizar un algoritmo:  1) El peor caso  2) El caso promedio  3) El mejor … Continue reading «Análisis de Algoritmos | Conjunto 2 (peor, promedio y mejores casos)»

Análisis de diferentes técnicas de clasificación.

En este artículo, discutiremos propiedades importantes de diferentes técnicas de clasificación, incluida su complejidad, estabilidad y restricciones de memoria. Antes de comprender este artículo, debe comprender los conceptos básicos de las diferentes técnicas de clasificación (consulte: Técnicas de clasificación ).  Análisis de la complejidad del tiempo:  hemos discutido la complejidad del mejor, el promedio y … Continue reading «Análisis de diferentes técnicas de clasificación.»

Método de adivinar y confirmar

La idea básica detrás de este método es adivinar la respuesta y luego demostrar que es correcta por inducción. Este método se puede utilizar para resolver cualquier recurrencia. Si se adivina una solución y luego se intenta verificar nuestra suposición de manera inductiva, por lo general, la prueba tendrá éxito (en ese caso hemos terminado) … Continue reading «Método de adivinar y confirmar»

Lista aleatoria de M enteros no negativos cuya suma es N

Dados dos enteros M y N , la tarea es crear una lista de M enteros no negativos cuya suma sea N . En caso de que sea posible más de una lista, busque cualquiera. Ejemplos:   Entrada: M = 4, N = 8  Salida: 1 3 3 1  1 + 3 + 3 + 1 … Continue reading «Lista aleatoria de M enteros no negativos cuya suma es N»