Denna teknik att lösa problem tycker jag är den mest användbara algoritmteorin för programmeringstävlingar. I IOI och BOI finns det så gott som alltid ett sådant problem med. Det finns en massa matematik bakom den allmänna tekniken, men jag tror att det blir enklare att ta ett par exempel där jag förklarar hur man gör.
Knapsack-problemet
Longest Increasing subsequence
Tävlingsproblem med dynamisk programmering (försök
utan att titta på Hjälp):