Implémentation de la programmation dynamique sur les chiffres (Digit DP)
Principes fondamentaux de la Digit DP
La technique dite « Digit DP » repose essentiellement sur une recherche en profondeur avec mémoïsation. Elle permet de résoudre des problèmes combinatoires ou arithmétiques sur un intervalle de nombres entiers en traitant chaque chiffre individuellement, généralement du plus significatif au moins significat ...
Publié le 2 octobre à 21h09
Outil de visualisation clavier en temps réel avec animation personnalisable en C++
Bongo Cat Mver est une application open source écrite en C++ qui transforme les entrées clavier et souris en animations interactives d’un personnage félin stylisé. Conçue pour les créateurs de contenu, elle s’intègre discrètement à des flux en direct, des tutoriels ou des captations vidéo, en fournisant un retour visuel immédiat et modulable de ...
Publié le 2 octobre à 02h45
Les Templates en C++ : Fondamentaux et Mise en Œuvre
Le paradigme de la programmation générique
Considérons le besoin fréquent d'implémenter une routine pour permuter deux variables. Sans mécanisme avancé, le développeur est contraint de surcharger la fonction pour chaque type de données :
void Permute(int& gauche, int& droite)
{
int tmp = gauche;
gauche = droite;
droite = ...
Publié le 30 septembre à 20h00
Compter les sous-séquences de caractères entre deux chaînes
Étant donné deux chaînes de caractères source et cible, le défi consiste à déterminer combien de caractères de la chaîne cible peuvent être trouvés dans le même ordre au sein de la chaîne source. En d'autres termes, il faut identifier si la chaîne cible constitue une sous-séquence de source et compter le nombre de correspondances trouvées. Les ...
Publié le 30 septembre à 06h30
Compter les sous-rectangles sans bombe à l'aide du principe d'inclusion-exclusion
Énoncé du problème
On dispose d'une grille rectangulaire de taille N par M. Des bombes sont placées sur K cellules distinctes (avec K ≤ 20). Le but est de déterminer le nombre total de sous-rectangles (définis par leurs coordonnnées supérieure gauche et inférieure droite) qui ne contiennent aucune bombe.
Approche par principe d'inclusion-exclus ...
Publié le 29 septembre à 08h00
Notes sur le langage C++
Flux d'entrée/sortie
Pour les opérations d'entrée/sortie en C, nous utilisons souvent
#include <stdio.h>
Dans C++, le style de nommage des fichiers d'en-tête est différent sans l'extension .h
#include <iostream>
using namespace std;
Explication de l'utilisation de ces deux lignes (blog personnel)
Pourquoi utiliser < ...
Publié le 29 septembre à 01h55
Solution pour le problème P7724 : Archives Antiques
Analysons les cas possibles en fonction du nombre de cellules vides. Une approche récursive avec mémoïsation permet d'optimiser la recherche. Nous traitons séparément les scénarios avec 1, 2 ou 3 cellules vides, ainsi que le cas où toutes les cellules sont vides.
Implémentation
### 2.1 : Fonction de vérification Pour comparer l'état actuel à l' ...
Publié le 28 septembre à 09h05
Implémentation d'un système de gestion de contacts en C++
Ajout de cotnacts
Recherche de contacts
Modification des informations
Suppression de contacts
Statistiques sur les contacts
Enterface utilisateur
char Menu::afficher_menu()
{
system("cls");
cout << "\n\t\t***************************************"
<< "\n\t\t* SYSTEME DE GESTION DE CONTACTS ...
Publié le 27 septembre à 01h41
Transformation d'un Arbre Binaire de Recherche en Liste Doublement Chaînée Triée
La conversion d'un arbre binaire de recherche (BST) en une liste doublement chaînée triée est un problème classique d'algorithmique. L'objectif est de réorganiser les pointeurs de l'arbre (gauche et droite) pour qu'ils fassent office de pointeurs de liste (précédent et suivant), tout en conservent l'ordre croissant des éléments sans allouer de ...
Publié le 25 septembre à 22h52
Exploration et mise en œuvre de l'arbre de préfixes (Trie)
Introduction à l'arbre de préfixes
L'arbre de préfixes, communément appelé Trie, est une structure de données arborescente spécialisée dans la gestion et la recherche de chaînes de caractères. Contrairement à une table de hachage classique, le Trie exploite les préfixes communs entre les clés pour optimiser l'espace mémoire et la vitesse de rec ...
Publié le 24 septembre à 18h38