Maison >développement back-end >C++ >Organisez une chaîne binaire pour obtenir la valeur maximale dans la plage d'index. C/C++ ?

Organisez une chaîne binaire pour obtenir la valeur maximale dans la plage d'index. C/C++ ?

WBOY
WBOYavant
2023-09-11 23:53:071272parcourir

Organisez une chaîne binaire pour obtenir la valeur maximale dans la plage dindex. C/C++ ?

Pour une chaîne donnée composée de 0 et 1, on nous donne M plages disjointes A, B (A

L'activité consiste à trouver une permutation légale ou valide qui satisfait simultanément aux deux conditions suivantes −

  • La somme des nombres entre toutes les M plages données est la plus grande.

  • La chaîne sera la plus grande lexicographiquement. La chaîne 1100 a un ordre lexicographique plus élevé que la chaîne 1001.

Exemple

Input
11100
3
3 4
5 5
Output
00111
First we put 1’s in position 3 and 4 then in 5 as there are no 1’s left, the string formed is 00111.
Input
0000111
2
1 1
1 2
Output
1110000

Dans l'exemple ci-dessus, nous mettons d'abord 1 en 1ère et 2ème position, puis il reste un autre '1',

Donc, nous utilisons ceci pour créer la chaîne selon Maximiser l'ordre lexicographique et placez-le en 3ème position, complétant ainsi le réarrangement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer