Compruebe si la array A se puede convertir en B cambiando la paridad de los elementos de esquina de cualquier subarray

Dadas dos arrays binarias, A[][] y B[][] de N×M . En una sola operación, se puede elegir una subarray (mínimo de 2 filas y 2c columnas) y cambiar la paridad de los elementos de esquina, es decir, 1 se puede cambiar a 0 y 0 se puede cambiar a 1 . La tarea es verificar … Continue reading «Compruebe si la array A se puede convertir en B cambiando la paridad de los elementos de esquina de cualquier subarray»

Operaciones Bitwise OR mínimas para hacer que dos elementos de array sean iguales

Dada una array arr[] de enteros y un entero K , podemos realizar la operación Bitwise OR entre cualquier elemento de la array y K cualquier número de veces. La tarea es imprimir el número mínimo de tales operaciones requeridas para hacer que dos elementos de la array sean iguales. Si no es posible hacer … Continue reading «Operaciones Bitwise OR mínimas para hacer que dos elementos de array sean iguales»

Buscar, establecer, borrar, alternar y modificar bits en C

Dado un entero positivo N , la tarea es realizar la siguiente secuencia de operaciones en la representación binaria de N en C. Encontrando un bit: Encuentre el K -ésimo bit en la representación binaria de N. Configuración de un bit: si el K -ésimo bit es 0 , configúrelo en 1 . De lo … Continue reading «Buscar, establecer, borrar, alternar y modificar bits en C»

Número de pares ordenados tales que (Ai & Aj) = 0

Dada una array A[] de n enteros, encuentre el número de pares ordenados tales que A i &A j es cero, donde 0<=(i,j)<n. Considere (i, j) y (j, i) como diferentes.  Restricciones:  1<=n<=10 4  1<=A i <=10 4 Ejemplos:  Input : A[] = {3, 4, 2} Output : 4 Explanation : The pairs are (3, … Continue reading «Número de pares ordenados tales que (Ai & Aj) = 0»

Número de formas de cambiar el XOR de dos números intercambiando los bits

Dadas dos strings binarias s1 y s2. El XOR de ellos es X, la tarea es encontrar la cantidad de formas de intercambiar posiciones de dos bits en la string s1 de modo que el XOR formado entre el nuevo s1 y s2 no sea lo mismo que X.  Ejemplos:  Entrada: s1 = “01011”, s2 … Continue reading «Número de formas de cambiar el XOR de dos números intercambiando los bits»

Comprobar si un número tiene el mismo número de bits activados y desactivados

Dado un número N, la tarea es comprobar si el recuento de bits activados y desactivados en el número dado es el mismo. Ejemplos:   Input: 12 Output: Yes 1100 is the binary representation of 12 which has 2 set and 2 unset bits Input: 14 Output: No Enfoque: Recorra la representación binaria del número dado, verifique … Continue reading «Comprobar si un número tiene el mismo número de bits activados y desactivados»

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»

Total de pares distintos de dos arrays de modo que el segundo número se pueda obtener invirtiendo los bits del primero

Dadas dos arrays arr1[] y arr2[] , la tarea es tomar un elemento de la primera array (digamos a) y un elemento de la segunda array (digamos b) . Si el número formado al invertir los bits de a es igual a b , entonces el par (a, b) es un par válido. Ejemplo de inversión … Continue reading «Total de pares distintos de dos arrays de modo que el segundo número se pueda obtener invirtiendo los bits del primero»

Quitar los K bits menos significativos de un número dado

Dado un número entero N , la tarea es imprimir el número obtenido al desarmar los K bits menos significativos de N . Ejemplos: Entrada: N = 200, K=5 Salida: 192 Explicación:  (200) 10 = (11001000) 2  Quitando los K(= 5) bits menos significativos de la representación binaria anterior, el nuevo número obtenido es (11000000) … Continue reading «Quitar los K bits menos significativos de un número dado»

Potencias de 2 a la suma requerida – Part 1

Dado un número entero N, la tarea es encontrar los números que, elevados a la potencia de 2 y finalmente sumados, dan el número entero N. Ejemplo :  C++ // CPP program to find the  // blocks for given number. #include <bits/stdc++.h> using namespace std;    void block(long int x) {     vector<long int> v;        … Continue reading «Potencias de 2 a la suma requerida – Part 1»