Search
Místo a čas konání
Místo: T2:C2-84, čas: čtvrtek od 16:15. Rozvrh FEL
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.
Návodník na řešení
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
https://www.geeksforgeeks.org/painting-fence-algorithm/
https://leetcode.com/problems/perfect-squares/
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.
Především BFS, DFS, Dijkstra, odkazy viz níže.
Nejkratší a nejdelší cesty:
Dijkstra v O(n^2)
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:
Poznámky k minimálním kostrám
Negativní cykly:
Cesty mezi všemi páry uzlů:
Další vizualizace
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.
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.
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ě:
10263 - Railway 10180 - Rope Crisis in Ropeland!
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.
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.
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.
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.