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

V zimním semestru 2023/2024 vedeme s Jirkou Kalvodou 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á ve čtvrtky od 15:40 v N12. Pozor, zápis na cvičení probíhá speciálním způsobem: viz pravidla.

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
5. 10. 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.
12. 10. Nejdelší úsek bez opakování (A-Z, celá čísla, řetězce).
19. 10. Dvojice se zadaným součtem nebo rozdílem. Úsek se zadaným součtem.
26. 10. Nejdelší vyvážený úsek. Nejdelší bílý úsek.
1. 11. Necvičíme, protože cvičíme: Děkanský sportovní den.
9. 11. Stavíme stan na louce: podmatice ze samých nul na mnoho způsobů (zadané velikosti, zadané výšky, libovolná, čtvercová).
16. 11. Okénkova minima a mediány.
23. 11. Ještě online okénková minima. Převýpočet pro nejbližší menší prvek v daném směru. Minimové stromy. Jak pro každou velikost okénka zjistit maximum z minim.
30. 11. Generování všech objektů s danou vlastností: posloupnosti nul a jedniček, právě jedna změna, právě k jedniček.
7. 12. Generování permutací, právě jedno prohození. Rank a unrank permutace.
14. 12. Náhodné permutace a k-tice. Náhodné třídění.
21. 12. O stromech a strážnících váženě i neváženě.
4. 1. Mafiáni a asfaltéri.
11. 1. Mafiánský kápo. Barvení rovinných grafů 6 a 5 barvami.
Stránku spravuje Martin Mareš