Algoritmo de Prim usando la cola de prioridad en STL

Dado un gráfico no dirigido, conectado y ponderado, encuentre el árbol de expansión mínimo (MST) del gráfico utilizando el algoritmo de Prim. Input : Adjacency List representation of above graph Output : Edges in MST 0 – 1 1 – 2 2 – 3 3 – 4 2 – 5 5 – 6 6 – … Continue reading «Algoritmo de Prim usando la cola de prioridad en STL»

Incremento/decremento mínimo para hacer que la array no sea creciente

Dada una array a, su tarea es convertirla en una forma no creciente de modo que podamos incrementar o disminuir el valor de la array en 1 en los cambios mínimos posibles. Ejemplos:  Entrada: a[] = {3, 1, 2, 1} Salida: 1 Explicación: podemos convertir la array en 3 1 1 1 cambiando el tercer … Continue reading «Incremento/decremento mínimo para hacer que la array no sea creciente»

Encuentre los k números más pequeños después de eliminar elementos dados

Dada una array de enteros, encuentre los k números más pequeños después de eliminar los elementos dados. En caso de elementos repetidos, elimine solo una instancia en la array dada por cada instancia del elemento presente en la array que contiene los elementos que se eliminarán. Suponga que quedan al menos k elementos en la array … Continue reading «Encuentre los k números más pequeños después de eliminar elementos dados»

Cola de prioridad usando Binary Heap

Priority Queue es una extensión de la cola con las siguientes propiedades:   Cada elemento tiene una prioridad asociada. Un elemento con prioridad alta se elimina de la cola antes que un elemento con prioridad baja. Si dos elementos tienen la misma prioridad, se sirven según su orden en la cola. Un montón binario es un … Continue reading «Cola de prioridad usando Binary Heap»

Número máximo de manzanas que puede comer una persona

Dadas dos arrays apples[] y days[] que representan el número de manzanas que produce un árbol de manzanas y el número de días que estas manzanas son comestibles desde el i -ésimo día respectivamente, la tarea es encontrar el número máximo de manzanas que una persona puede comer si la persona puede comer como máximo … Continue reading «Número máximo de manzanas que puede comer una persona»

Longitud de la subsecuencia más larga con suma negativa de todos los prefijos

Dada una array arr[] que consta de N enteros, la tarea es encontrar la longitud de la subsecuencia más larga de modo que la suma del prefijo en cada índice de la subsecuencia sea negativa. Ejemplos: Entrada: arr[] = {-1, -3, 3, -5, 8, 2} Salida: 5 Explicación: La subsecuencia más larga que cumple la … Continue reading «Longitud de la subsecuencia más larga con suma negativa de todos los prefijos»

Imprimir niveles de árbol binario en orden ordenado

Dado un árbol binario, la tarea es imprimir todos sus niveles en orden ordenado Ejemplos: // CPP program to print levels in sorted order. #include <iostream> #include <queue> #include <vector> using namespace std;    // A Binary Tree Node struct Node {     int data;     struct Node *left, *right; };    // Iterative method to find … Continue reading «Imprimir niveles de árbol binario en orden ordenado»

Maximizar el producto de la suma de las velocidades de K trabajadores y su eficiencia mínima

Dado un número entero N , que representa el número de trabajadores, una array velocidad[ ] , donde velocidad[i]  representa la velocidad del i -ésimo trabajador, y una array eficiencia[ ] , donde eficiencia[i]  representa la eficiencia del i -ésimo trabajador, y un entero K , la tarea es seleccionar K trabajadores de tal manera … Continue reading «Maximizar el producto de la suma de las velocidades de K trabajadores y su eficiencia mínima»

Maximice los trabajos que se pueden completar bajo la restricción dada

Dado un número entero N que denota el número de trabajos y una array de rangos[] que consta de un rango [día de inicio, día de finalización] para cada trabajo dentro del cual debe completarse, la tarea es encontrar el máximo de trabajos posibles que se pueden completar. Ejemplos:   Entrada: N = 5, Rangos = … Continue reading «Maximice los trabajos que se pueden completar bajo la restricción dada»

tipo de valor de cola de prioridad en C++ STL

El método priority_queue::value_type es una función integrada en C++ STL que representa el tipo de objeto almacenado como un elemento en una cola de prioridad. Actúa como sinónimo del parámetro de plantilla.  Complejidad del tiempo: O(1) Sintaxis:   priority_queue::value_type variable_name No tiene parámetros ni valor de retorno. Los siguientes programas ilustran la función anterior. Programa 1:   CPP … Continue reading «tipo de valor de cola de prioridad en C++ STL»