Table of Contents

Místo a čas konání

Místo: online prostor, čas: čtvrtek od 16:15. Rozvrh FEL

Semináře

Tabulka s průběžným stavem

Seminář Datum
(hodiny)
Náplň Úlohy/odkazy/prezentace
viz také pod tabulkou
1. 18.2 (2) Snadné počítání a příprava na dynamické programování
2. 25.2 (4) Minisoutěž I
3. 4.3. (2) Dynamické programování
4. 11.3. (4) Minisoutěž II
5. 28.3. (2) Cesty v grafech
6. 25.3. (4) Minisoutěž III
7. 1.4. (2) Aritmetika a kombinatorika, teorie čísel
8. 8.4. (4) Minisoutěž IV
9. 15.4 (2) Zrušeno - téma a čas náhradního semináře bude po dohodě v příštích týdnech
10. 22.4. (4) Minisoutěž V - opakování DP, grafů a aritmetiky
11. 29.4. (2) Výpočetní geometrie, mřížky
12. 6.5. (4) Minisoutěž VI
13. 13.5. (2) Anatgonistické hry, Nim
14. 20.5. (4) Minisoutěž VII
CELKEM ZS 2021 . . . . TABULKA - VÝSLEDKY Celkový stav

Seminář 01. (18.2.) Běžné počítání a příprava na DP

BBB konference link : https://cw.felk.cvut.cz/brute/teacher/bbb/cw_r0Y4Gic9bn

Komentáře k úlohám na Project Euler.

Vyzkoušejte si:

Bouncy numbers
Exploring strings for which only one character comes lexicographically after its neighbour to the left
MARTIAN - Martian Mining

Seminář 02 (25.2.)


Servery

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.


Proces odevzdávání úloh

Proces lze vyzkoušet s hotovým řešením
Přidané upřesňující poznámky


Úlohy

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.

Sada začínající

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.

V této sadě je polovina úloh na dynamické programování, ostatní slouží jako rozcvičkové ad hoc úlohy s různorodými metodami řešení.

Sada pokročilá

—-

Seminář 03 (4.3.) Dynamické programování

Ukázky typických postupů a úloh.

Seminář 04 (11.3.)

Úlohy

Svoje výkony zapisujte samostatně do tabulky Výkony v minisoutěži II,
po skončení minisoutěže v 21:00, posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.

Prodloužený termín Dnes je možno za 3 body odevzdávat úlohy až do 21:00.

Sada začínající

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.

Sada pokročilá

Seminář 05 (18.3.) Grafy a nejkratší cesty

S využitím publikace Antti Laaksonen: Competitive Programmer’s Handbook, s několika komentáři.
Originál: ke stažení.

Přehledy a návody

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

Všechny cesty:

další vizualizace

Seminář 06 (25.3.)

Úlohy

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.

Sada začínající

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.

Sada pokročilá

Seminář 07 (1.4.) Aritmetika a kombinatorika

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/

Seminář 08 (8.4.)

Úlohy

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.

Sada začínající

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.

Sada pokročilá

Seminář 10 (22.4.)

Úlohy

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.

Sada začínající

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.

Sada pokročilá

Seminář 11 (29.4.) Geometrie

Některé základní výpočty

Počítání průsečíků

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, 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/graphing?lang=en (http://www.geogebra.org/ ??)

Seznamy geometrických kreslítek https://en.wikipedia.org/wiki/List_of_interactive_geometry_software#2D_programs, http://mathforum.org/geometry/geometry.software.html

Seminář 12 (6.5.)

Úlohy

Výjimečně dnes budou na začátku úlohy zadány pomocí e-mailu.

Kontrolujte kolem 16:15 svou školní schránku.

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.

Sada začínající

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.

Sada pokročilá

Seminář 13 (13.5.) Kombinatoricke hry

Příklady:

Seminář 14 (20.5.)

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.

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.