Table of Contents

Místo a čas konání

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

Na druhý seminář (1.10.) použijte v brute vygenerovaný odkaz na BBB konferenci https://cw.felk.cvut.cz/brute/student/bbb/cw_nUYiAZZosh

Semináře

Tabulka s průběžným stavem bodování

Seminář Datum
(hodiny)
Náplň Úlohy/odkazy/prezentace
viz také pod tabulkou
1. 24.9 (2) Servery, konta, ukázkové úlohy a témata, cvičná odevzdání, jednoduchá opakování Úlohy na A2OJ (Výsledky)
Zapište svoje vykony sem
2. 1.10 (4) Minisoutěž I - úlohy na informatický postřeh a zkušenost Viz úlohy níže na této stránce
3. 8.10. (2) Dynamické programování I
4. 15.10. (4) Minisoutěž II
5. 22.10. (2) Dynamické programování II
6. 29.10. (4) Minisoutěž III
7. 5.11. (2) Cesty v grafech
8. 12.11. (4) Minisoutěž IV
9. 19.11 (2) Aritmetika a kombinatorika, teorie čísel
10. 26.11. (4) Minisoutěž V
11. 3.12. (2) Výpočetní geometrie, mřížky
12. 10.12. (4) Minisoutěž VI
13. 17.12. (2) Anatgonistické hry, Nim
14. 7.1. (4) Minisoutěž VII
CELKEM ZS 2020 . . . . TABULKA - VÝSLEDKY Celkový stav

Seminář 1

Provoz a administrace

Na první seminář použijte v brute vygenerovaný odkaz na BBB konferenci

https://cw.felk.cvut.cz/brute/student/bbb/cw_nUYiAZZosh

Rozhraní A2OJ nefungovalo, udělali jsme offline google tabulku s výkony jednotlivců,
pokud jste je ještě nezapsali, tak zapište svoje vykony sem.

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í

Proces lze vyzkoušet s hotovým řešením


Ahmed Aly Online Judge

V průběhu praktických cvičení (sudé výukové týdny) svá řešení budete odevzdávat do A2 Online Judge. Prosíme, vytvořte si každý svůj vlastní účet sledováním následujícího linku: Sign Up. Vzhledem k tomu, že A2 Online Judge je pouze tzv. agregátor výsledků, musíte si vytvořit účty v příslušných judgích, které skutečně ověřují správnost vašich řešení, a to: Sphere Online Judge, UVa Online Judge a ACM-ICPC Live Archive.

Aby A2OJ věděl o odevzdaných úlohách, musíte vyplnit ve svém profilu ID, které jste si vytvořili či vám bylo přiděleno u výše uvedených judgů. Zde je shrnut postup, jak se k nim dostat:

Sphere Online Judge (SPOJ)

  1. Neuvěřitelné, ale login je vaše ID.

UVA Online Judge

  1. V hlavním menu po přihlášení ťukněte na [My Account]
  2. Ve vašem profilu na řádku Online Judge ID: je Vaše UVA ID.

ACM-ICPC Online Judge

Test odevzdávacího systému

Po vytvoření účtů se můžete registrovat do soutěže na A2 Online Judge, klikněte na odkaz nahoře v prvním řádku tabulky.


Úlohy pro první seminář

Seminář 2

Online: Připojte se do konference:https://cw.felk.cvut.cz/brute/student/bbb/cw_zvuhVQ3J5w

Úlohy pro druhý seminář

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.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 3

Online1: Připojte se do konference: https://cw.felk.cvut.cz/brute/bbb.php?join=cw_pc9e6Bo1az

Online2: Pokud by se nedařilo v Online1, v brute je na 16:10 naplánována záložní konference v předmětu ACM_ALL (pozor, nikoli ACM1 - ACM5). Brute mi hlásí, že odmítá posílat pozvánku komukoli na tuto konferenci v době jejího začátku (??). Zkuste adresu https://cw.felk.cvut.cz/brute/student/bbb/cw_7JCHpDhqMS.

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

Seminář 4 Dynamické programování

Online: Připojte se do konference: https://cw.felk.cvut.cz/brute/student/bbb/cw_iiBLJ6px5n

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.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 5 Dynamické programování II

Spojen výjimečně s následujícím seminářem. A jinak:

Seminář 6 Dynamické programování II s minisoutěží

Úlohy

Svoje výkony zapisujte samostatně do tabulky Výkony v minisoutěži III,

Kvůli časovému posunu bude 3 body hodnocena každá úloha odevzdaná do večera (23.59.) pátku 30.10: Posílejte otisky obrazovek z jednotlivých serverů s registrací vašich úspěchů na berezovs@fel.cvut.cz.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 7 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)

Aplikace prohledávání do hloubky:

Poznámky k minimálním kostrám

Všechny cesty:

další vizualizace

Seminář 8 Prohledávání grafů s minisoutěží

Ú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.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 9 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ář 10 Aritmetika, kombinatorika a čísla

Ú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.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 11: 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 Geometrie

Úlohy

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.

Vyberte si sadu podle svého zaměření, můžete také mixovat úlohy z obou sad:

Sada pro začínající

Sada pro pokročilce

Seminář 13 - Kombinatoricke hry

Příklady:

Seminář 14 Závěr semestru

Úlohy

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.

Tentokrát jen jediná sada, s nejrůznějšími náměty :