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

V zimním semestru 2024/2025 vedeme s Danem Skýpalou 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 N6.

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
3. 10. Jedno chybějící číslo. Házení vajíček z mrakodrapu.
10. 10. Nejdelší úsek bez opakování (A-Z, celá čísla, řetězce).
17. 10. Dvojice se zadaným součtem. Úsek se zadaným součtem. Úsek se zadaným průměrem.
24. 10. Nejdelší vyvážený úsek. Nejdelší bílý úsek.
31. 10. Stavíme stan na louce: podmatice ze samých nul na mnoho způsobů (zadané velikosti, zadané výšky, libovolná, čtvercová).
7. 11. Okénkova minima a mediány (online vs. offline, amortizovaně vs. worst-case).
14. 11. 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.
21. 11. Povídání o programátorském stylu.
28. 11. Cvičení se nekoná, dnes otevíráme dveře.
5. 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í.
12. 12. Rank a select permutací. Náhodné permutace a k-tice. Náhodné třídění.
19. 12. O stromech, strážnících a mafiánech váženě i neváženě.
Stránku spravuje Martin Mareš