Cvičení z Programování 1 a Algoritmizace pro pokročilé

V zimním semestru 2025/2026 vedeme s Jirkou Cihelkou speciální cvičení z předmětů Programování 1 [NPRG030] a Algoritmizace [NPRG062] pro pokročilé studenty, kteří již nasbírali nějaké zkušenosti s programováním a vymýšlením algoritmů (třeba v olympiádách a korespondenčních seminářích) a chtěli by se naučit víc.

Cvičení se koná úterky od 15:40 v N3.

Podmínky na získání zápočtu najdete v pravidlech hry.

Svým cvičícím pište na adresu p1x@ucw.cz.

Co jsme dělali

datum co se cvičilo
30. 9. Jedno chybějící číslo. Nejmenší chybějící číslo v rostoucí posloupnosti. Různé variace na binární vyhledávání, monotónní predikáty.
7. 10. Nejdelší úsek bez opakování (A-Z, celá čísla, řetězce).
14. 10. Dvojice se zadaným součtem. Úsek se zadaným součtem.
21. 10. Cvičení se nekoná, jsouc imatrikulace. Gaudeamus igitur!
28. 10. Cvičení odpadá: vyberte si svůj svátek :)
4. 11. Nejdelší vyvážený úsek. Nejdelší bílý úsek.
11. 11. Stavíme stan na louce: podmatice ze samých nul na mnoho způsobů (zadané velikosti, zadané výšky, libovolná, čtvercová).
18. 11. Povídání o řešení úloh, zejména Nejdelšího bílého úseku.
25. 11. Okénkova minima a mediány (online vs. offline, amortizovaně vs. worst-case).
2. 12. Generování všech objektů s danou vlastností: posloupnosti nul a jedniček, právě jedna změna, právě k jedniček; permutace, právě jedno prohození.
9. 12. Rank a unrank permutací. Náhodné permutace. Náhodné třídění.
Stránku spravuje Martin Mareš