Et les fonctions de tri! (enfin... pas forcément savoir les implémenter, vu que la plupart des langages proposent une
fonction très performante permettant de trier, mais plutôt savoir dans quel cas un tri au préalable peut être utile pour
diminuer le temps d’exécution(/mémoire) (exemple, recherche dichotomique))
Euh... Après, ce qui me semble le plus important ensuite, c'est peut être la programmation dynamique. Sur
topcoder/codeforces j'aurais bien dit la manipulation de chaînes de caractères (d'ailleurs, pour ceux qui ne connaissent
pas le stringstream, regardez les codes des autres, c'est vraiment plus cool que mettre des substring tout moches) et le
combinatoire, mais sur prologin, c'est quasiment que du graphe (problèmes simples->complexes) et du dp (surtout
problèmes complexes).
Ce qui reste ensuite comme problèmes, c'est des problèmes de "débrouille" (si vous voyez ce que je veux dire).