Techniques de DP sur les sous-ensembles et somme préfixée multidimensionnelle
Les problèmes de calcul de sommes sur des sous-ensembles ou des sur-ensembles d'un ensemble binaire sont courants en algorithmique. Deux approches principales existent : l'énumération directe (complexité O(3^n) dans le pire cas) et la propagation de contributions via des techniques de programmation dynamique. Cette dernière, connue sous le nom ...
Publié le 28 juin à 18h21
Résolution des problèmes lors de la simulation du 8.23
A. L'importance d'une lecture attentive des énoncés
Cette quesiton implémentait une optimisation de la programmation dynamique à l'aide d'une file monotone, un schéma récurrent similaire à celui de la question C de la veille.
B. Obtenir des points même avec une solution brute-force
Le problème est basé sur P1758 [NOI2009] de Luogu. Il s'agit d' ...
Publié le 24 juin à 18h10
Algorithmes et Techniques en Programmation Concurrentielle
P2569 https://www.luogu.com.cn/problem/P2569
Référence à cet article.
/* Optimisation de DP par file monotone
L'équation de transfert pour l'achat d'actions énumère j de manière séquentielle, car le nombre d'actions détenues devrait augmenter. La décision actuelle pourrait être nécessaire pour des j plus tardifs, donc elle doit être calculée à ...
Publié le 23 juin à 18h46
Problème de Matrice avec Contraintes de Divisibilité
L'énoncé du problème stipule que pour une matrice a[i][j], les conditions suivantes doivent être satisfaites : a[i][j] % a[i-1][j] == 0 && a[i][j] % a[i][j-1] == 0. Une solution possible utilise un parcours en profondeur d'abord (DFS).
#include<bits/stdc++.h>
using namespace std;
#define Pour(i,a,b) for(int i = a; i <= b; i++)
...
Publié le 22 juin à 00h26
Analyse de raisonnement mathématique avancé avec un modèle d'IA local
Introduction à l'outil de raisonnement local
Lorsque vous êtes cofnronté à des problèmes algorithmiques complexes, des défis en combinatoire ou des preuves logiques nécessitant une réflexion approfondie, un assistant de raisonnement local peut s'avérer précieux.
Cet outil repose sur l'architecture du modèle Cosmos-Reason1-7B, optimisé pour les ...
Publié le 21 juin à 17h43
Programmation 0/1 : Optimisation par Recherche Binaire
La programmation 0/1, ou programmation fractionnaire 0/1, est une classe de problèmes d'optimisation. Elle implique la sélection d'un sous-ensemble d'éléments, où chaque élément a deux attributs, disons \(a_i\) et \(b_i\). L'objectif est de maximiser (ou minimiser) le ratio \(\frac{\sum a_i \times d_i}{\sum b_i \times d_i}\), sous certaines con ...
Publié le 21 juin à 02h38
Solutions des problèmes A à D et F du Codeforces Round 1065 (Div. 3)
Problème A : Shizuku Hoshikawa et les Pattes de la Ferme
C'est un problème classique de coqs et de lapins (ou poules et lapins). L'objectif est de compter le nombre de combinaisons possibles d'animaux (coqs et lapins) ayant un nombre total de pattes égal à n. Il faut noter que le nombre d'animaux peut être nul.
La solution consiste à itérer sur ...
Publié le 17 juin à 02h43
Journal de résolution d'exercices algorithmiques
11.23
LG14362 [CSP-S2025] Route
Un ajout important : pour un graphe donné, après avoir calculé son arbre couvrant minimum (MST), si l'on ajoute d'autres arêtes pour former un nouveau graphe, le MST du nouveau graphe n'utilisera jamais les arêtes non-arbres de l'ancien graphe.
LG14394/LOJ2729 [JOISC 2016] Poupée gigogne
Analyse
Le problème sembl ...
Publié le 14 juin à 03h02
Solutions des problèmes de la compétition ZYZ (Round 4)
Compter est amusant Round.
Quatre problèmes de programmation dynamique. Un peu mystérieux.
Tous les problèmes étaient excellents. J'apprécie vraiment.
A.Compter est amusant 1
P2734 [IOI 1996 / USACO3.3] Jeu A.
Une astuce assez classique.
Descriptoin
Il y a une double file d'attente, les petits \(\delta\) et \(\mu\) peuvent chacun retirer un no ...
Publié le 12 juin à 01h26
Problèmes quotidiens de LeetCode : Solutions algorithmiques pour avril 2024
Introduction
Cet article détaille des solutions initiales et des implémentations locales pour des problèmes de LeetCode. Les approches peuvent ne pas être optimales, et les discussions pour améliorer les solutions sont encouragées.
1er avril : 2810. Clavier défectueux
Considérons les caractères un par un. Si le caractère est 'i', nous changeons ...
Publié le 6 juin à 17h24