Místo a čas konání
Místo: T2:C2-84, čas: čtvrtek od 16:15. Rozvrh FEL
Seminář | Datum (hodiny) | Náplň |
---|---|---|
1. | 22.2. (4) | Uvod, seznameni se servery, vybrane ulohy, Minisoutěž I |
2. | 29.2. (2) | Dynamické programování (DP) |
3. | 7.3. (4) | Minisoutěž II |
4. | 14.3. (2) | Cesty v grafech |
5. | 21.3. (4) | Minisoutěž III |
6. | 28.3. (2) | Aritmetika a kombinatorika, teorie čísel |
7. | 4.4. (4) | Minisoutěž IV |
8. | 11.4. (2) | Výpočetní geometrie, mřížky |
9. | 18.4 (4) | Minisoutěž VI |
10. | 25.4. (2) | Anatgonistické hry, Nim |
11. | 2.5. (4) | Minisoutěž V |
12. | 9.5. (2) | odpadá, je středa |
13. | 16.5. (4) | Minisoutěž VII |
14. | 23.5. (2) | Shrnutí, dodělávky |
CELKEM | LS2024 . VÝSLEDKY | TABULKA -- Celkový stav |
V průběhu praktických cvičení a také při domácí aktivitě svá řešení budete odevzdávat do serverů
Na každém z těchto serverů si zřiďte konto, pokud ho tam ještě nemáte.
Vyzkoušejte si:
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži I,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Začínající zkusí
(Upozornění: Úlohy níže jsou řazeny abecedně podle svých názvů, což nesouvisí s jejich tématikou, obtížností nebo jinými parametry.)
pokročilí nebo začínající zkusí
Komentáře k minulým úlohám.
Ukázky typických postupů a úloh.
Doporučené úvodní přehledové a úctyhodné publikace, asi nejpřístupněji napsané:
Jednotlivé metody:
Úlohy pro rozmyšlení
147 - Dollars (2D Tab)
10066 - The Twin Towers (LCS)
11432 - Busy Programmer
PT07X - Vertex Cover
M3TILE - LATGACH3
SQRBR - Square Brackets
116 - Unidirectional TSP
11137 - Ingenuous Cubrency
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži II,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Především BFS, DFS, Dijkstra, odkazy viz níže.
Nejkratší a nejdelší cesty:
Cesty v stromech (nejdelší, nejkratší i jiné) bývají řešitelné pomocí DP,
to jest zakořeněním stromu a aplikací postorder průchodu stromem.
Aplikace prohledávání do hloubky:
Negativní cykly:
Cesty mezi všemi páry uzlů:
Dalších 200+ ukázek a úloh:
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži III,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Vyzkoušejte si:
Další odkazy související s úlohami
Catalanova čísla
https://en.wikipedia.org/wiki/Catalan_number
Euklidův algoritmus (největší společný dělitel)
http://mathworld.wolfram.com/EuclideanAlgorithm.html
Prvočísla
http://www.geeksforgeeks.org/sieve-of-eratosthenes/
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži IV,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Determinant matice, většinou stačí 2×2.
Některé základní výpočty pdf verze
Počítání průsečíků Soustava lin. rovnic, Cramerovo pravidlo
Jednoduchá aplikace 438 - The Circumference of the Circle, 10335 - Ray Inside a Polygon
Poloha bodu a polygonu (Hack: místo paprsku může postačit dostatečně dlouhá úsečka)
Reminder: Trigonometric identities
Pick's_theorem http://jwilson.coe.uga.edu/emat6680fa05/schultz/6690/pick/pick_main.htm
Všeobecný přehled na MFF (Programátorské kuchařky) http://ksp.mff.cuni.cz/tasks/24/cook5.html
Polygon area example: https://www.mathsisfun.com/geometry/area-irregular-polygons.html, code: http://www.codeproject.com/Articles/13467/A-JavaScript-Implementation-of-the-Surveyor-s-Form
Very Brute force Binary Search: https://onlinejudge.org/external/105/10566.pdf
Sweep line example Touching rectangles
Sweep line rotates:, http://www.spoj.com/problems/CERC07C/ (*_*_*) komentář
Graham Scan demo: http://www.cs.princeton.edu/courses/archive/spr10/cos226/demo/ah/GrahamScan.html (enable java?)
code: http://www.geeksforgeeks.org/convex-hull-set-2-graham-scan/
Stanford examples: http://web.stanford.edu/class/cs97si/ (Namely: http://web.stanford.edu/class/cs97si/09-computational-geometry.pdf )
Rotate points instead of lines 8258 - Glyph Recognition (ICPC Live Archive | Regionals 2017 | Europe-Northwestern), solution idea
Množství komentovaných základních kódů https://www.geeksforgeeks.org/geometric-algorithms/
Kreslítko GeoGebra online https://www.geogebra.org/classic (http://www.geogebra.org/ ??) (začni variantou “classic”).
Zkuste samostatně:
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži V,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Příklady:
Rozhodněte o plánu na poslední dva semináře v tomto semestru: Přehodit nebo nepřehodit 13.a 14. týden?
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži VI,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Definitivní hlasování o rozvrhu:Plán na poslední dva semináře v tomto semestru.
Výsledky hlasování na Google Forms
Podle hlasování vychází, že výraznou přednost má varianta programování v obou zbývajích týdnech. Ve 13. a 14. týdnu tedy proběhne programovací seminář, pokaždé se směsí úloh dynamického programování a ostatních probraných témat.
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži VII,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Posluchači, kteří již dříve ACM seminář absolvovali, se soustředí především na sadu pokročilou níže, za úlohy ze sady “začínající” nezískají body.
Naopak ti, kteří jsou na ACM poprvé, mohou řešit úlohy z obou sad, body získají za každou vyřešenou úlohu z kterékoli sady.
Začínající zkusí
pokročilí nebo začínající zkusí
Svoje výkony zapisujte samostatně do tabulky
Výkony v minisoutěži VIII,
po skončení minisoutěže v 19:30, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.
Sada společná
Tentokrát, na závěr semestru, máme jen jedinou sadu, společnou pro začínající i pokročilé, 3 body získá každý za každou vyřešenou úlohu. Úlohy 5, 8, 10, 12, 15 v tomto setu byly zadány také v předchozích minisoutěžích. Pokud jste je odevzdali dříve, neodevzdávejte je už tentokrát.