Solutions d'algorithmique pour le concours Niuke Round 139
A. Validation d'une chaîne « red »
L'objectif est de vérifier si une chaîne de caractères donnée se compose exclusivement des lettres 'r', 'e' et 'd'. Une approche par énumération directe de chaque caractère suffit.
#include <iostream>
#include <string>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
ci ...
Publié le 25 juin à 21h11
Implémentation et Optimisation de la Structure Union-Find en C++
Introduction aux Ensembles Disjoints
La structure de données Union-Find (ou ensembles disjoints) est un type abstrait de données arborescent conçu pour gérer efficacement une collection de partitions. Elle prend en charge deux opérations fondamentales de manière optimale :
Union : Fusionner deux ensembles distincts en un seul.
Find : Détermine ...
Publié le 25 juin à 04h56
Solutions de l'ARC 107 d'AtCoder en C++
Problème A : Somme de Produits Triangulaires
Description : Étant donné trois entiers positifs \(A\), \(B\) et \(C\), calculer la valeur modulo \(998244353\) de la somme triple \(\sum_{a=1}^{A} \sum_{b=1}^{B} \sum_{c=1}^{C} a \times b \times c\).
Solution : La somme se factorise en \(\left( \sum_{a=1}^{A} a \right) \times \left( \sum_{b=1}^{B} b ...
Publié le 21 juin à 00h51
Notes sur les algorithmes : résolution de problèmes avec arbres de segments et techniques connexes
Problème 0112G : Sous-séquence et carré de la diversité
Énoncé
Soit une séquence d'entiers positifs \(A_1, A_2, \dots, A_n\). On définit \(f(l,r)\) comme la taille de l'ensemble distinct \(\{A_l, A_{l+1}, \dots, A_r\}\). Calculer \(\sum_{l=1}^n \sum_{r=l}^n (f(l,r))^2 \mod 10^9+7\).
Approche
Commençons par le calcul de \(\sum_{l=1}^n\sum_{r=l}^ ...
Publié le 3 juin à 23h26