CSES - Johdanto

Viikon 7 aiheena on dynaaminen ohjelmointi ja välikyselyt. Suurimmassa osassa tehtävistä pitää käyttää segmenttipuuta tai summataulukkoa nopeuttamaan dynaamisen ohjelmoinnin laskemista.

Vihjeitä:

Unirytmi

[hint]Käytä dp tilaa dp[k] = tapojen määrä joilla Uolevi voi nukkua k minuuttia. Nopeuta dp:n laskemista summataulukon avulla.[/hint]

Projektit

[hint]Käytä dp tilaa dp[k] = kuinka paljon voi tienata k:n ensimmäisen päivän aikana. Käytä koordinaattikompressiota.[/hint]

Peli

[hint]Käytä dp tilaa dp[k] = kuinka paljon kolikkoja Uolevi voi kerätä jos hän lopettaa kolikkoon k. Käytä maksimisegmenttipuuta nopeampaan dp arvojen laskemiseen[/hint]

Junat

[hint]Käytä dynaamista ohjelmointia. Aina kannattaa valita seuraavaksi asemaksi se josta pääsee pisimmälle.[/hint]

Taulukko

[hint]Keksi segmenttipuurakenne, josta voi kysyä suurinta yhtenäisen alueen summaa.[/hint]