Count sequences Flashcards
(6 cards)
Dans quel type de problème est-il utile de compter des séquences (et pas juste des éléments) ?
Quand il faut placer des éléments sous contrainte (ex : interdiction d’être côte à côte, besoin d’espacement, intervalles minimums, etc.).
Quelle est l’idée centrale du “comptage de séquences” ?
Parcourir une structure (liste, chaîne…) et compter les suites continues d’états favorables (ex: zéros, espaces vides) pour calculer globalement combien d’actions/placements sont possibles.
Quelle formule générale utilise-t-on pour estimer ce qu’on peut faire avec une séquence de longueur k ?
Utiliser une formule adaptée du type :
(fonction de k selon la contrainte du problème)
Par exemple : (k-1)//2 si on doit séparer par au moins 1 case.
Pourquoi initialise-t-on parfois le compteur avec une valeur spéciale (ex: 1 au lieu de 0) ?
Pour intégrer implicitement les bordures (début/fin) et éviter des traitements spéciaux.
Quel est l’avantage de ce pattern en complexité et propreté de code ?
✅ Complexité en O(n)
✅ Évite les conditions lourdes case par case
✅ Code lisible et modulaire
✅ S’adapte à plein de variations du problème.
Résumé express du pattern à retenir ?
“Repérer les séquences favorables en un seul passage, calculer ce qu’on peut en tirer, et traiter le bord intelligemment.”