Cours & Tutoriels

Programmation dynamique

Programmation dynamique

22 cours
Langage c++ Langage Python MP, PSI et la TSI Diviser pour régner Programmation dynamique récursivité Tableaux

Trouver une somme de valeurs égales à une valeur donnée - Programmation compétitive

Dans la leçon sur l’addition et la soustraction, un enseignant de primaire présente un ensemble de valeurs et donne aux élèves une valeur somme, puis leur demande de déterminer si cette somme peut être obtenue en combinant certaines valeurs de l’ensemble.

Langage c++ Langage Python MP, PSI et la TSI Diviser pour régner Programmation dynamique Exercices langage c Exercices python récursivité Tableaux Complexité

Défi de conversion de mots - Programmation compétitive

Un enseignant de français en primaire souhaite motiver ses élèves à apprendre l’alphabet et à comparer des mots en proposant des activités ludiques ; par exemple, il fait choisir au hasard deux élèves qui écrivent chacun un mot au tableau, puis demande aux autres combien d’opérations sont nécessaires pour transformer le premier mot en second.

Langage c++ Langage Python MP, PSI et la TSI Diviser pour régner Programmation dynamique Exercices langage c Exercices python récursivité

Décomposition de phrases à partir d'un dictionnaire - Programmation compétitive

Mostafa souhaite initier ses élèves à la traduction à l’aide d’une méthode simple et naïve, qui consiste à décomposer une phrase en mots, traduire chaque mot séparément, puis reconstruire la phrase complète, en ne proposant que des phrases réalisables à partir d’un dictionnaire donné.

Langage c++ Langage Python MP, PSI et la TSI Diviser pour régner Programmation dynamique Exercices python programmation dynamique Diviser pour régner

La collection de pièces dans un labyrinthe - Programmation compétitive

Lors du camping annuel organisé par le ministère de l’Éducation, de nombreux jeux sont proposés pour divertir les élèves et rendre leur séjour à la fois instructif et amusant ; l’un des jeux favoris est la collecte de pièces dans un labyrinthe, avec plusieurs points de départ et des boîtes contenant des pièces réparties aléatoirement.

Langage c++ Langage Python MP, PSI et la TSI Diviser pour régner Programmation dynamique Exercices langage c Exercices python récursivité Tableaux Complexité

Nombre de façons de regrouper les étudiants - Programmation compétitive

Lors de la préparation de la première épreuve éliminatoire des Olympiades Marocaines d’Informatique, le comité offre aux étudiants le choix de travailler seuls ou en binôme, le problème consistant à déterminer de combien de manières les étudiants peuvent se répartir en solo ou en binôme.

Programmation dynamique Premium

Introduction à la programmation dynamique

La programmation dynamique est une technique efficace pour résoudre des problèmes d'optimisation. Il est basé sur la décomposition du problème initial en problèmes plus simples et la résolution de ces sous-problèmes à partir des plus simples.

MP, PSI et la TSI Les graphes Programmation dynamique Premium plus cours chemin dans un graphe Chemin bellman-ford Dijkstra plus court chemin

Plus courts chemins entre toutes les paires de sommets dans un graphe orienté et pondéré - Algorithme Floyd-Warshall

L'algorithme de Floyd-Warshall change de paradigme. Son objectif est de calculer simultanément les distances minimales pour tous les couples de sommets \((i,j)\). C'est un outil indispensable pour l'analyse de réseaux denses (où le nombre d'arêtes \(A\) est proche de \(S^2\)) et pour la détection de structures pathologiques comme les cycles de poids négatifs.

Algorithme de chemin le plus court de Bellman-Ford

L'algorithme de Bellman-Ford est un algorithme de calcul des plus courts chemins depuis une source unique dans un graphe pondéré. Développé par Richard Bellman et Lester Ford dans les années 1950, il constitue une alternative plus robuste mais moins efficace que l'algorithme de Dijkstra.