Sample Solutions CTU Open Contest 2011 ANALOG CLOCK
- Slides: 48
Sample Solutions CTU Open Contest 2011
ANALOG CLOCK
Analog Clock § Prostě to “jen” poslechnout a naimplementovat… § Úhel malé ručičky: § Úhel velké ručičky: 30°. H + 0, 5°. M 6°. M
COLLATZ CONJ.
Collatz Conjecture § Stačilo nasimulovat a hledat § Jak poznat první společné číslo? § Hledáme v mapě § Nebo si všimneme, že konec je vždy stejný => dojdeme na 1 a „couváme“, dokud jsou čísla stejná
Collatz Conjecture § Měla to být jednoduchá úloha… § … ale Collatzova posloupnost je záludná § V čem byl teda problém? § 837799 … 2974984576 … § NESTAČÍ NÁM INTEGER!!! (=> long)
ENCRYPTION
Encryption § Poměrně jednoduchá úloha … § … mírně zkomplikovaná „vylepšením“ zadání na poslední chvíli
GRADIENT
Mine the Gradient § Největší čtverec vyplněný gradientem § Budeme zkoušet všechny? To asi ne… § Dynamické programování
Mine the Gradient § Pro každé políčko spočítáme údaj: § Jaký největší čtverec v něm končí? § To zjistíme v konstantním čase § Podle políček vlevo a nahoře § Plus protilehlý roh
Mine the Gradient 6 4
Mine the Gradient 6 4 5
Mine the Gradient 6 6
Mine the Gradient 6 6 7
Mine the Gradient – kód max[i][j] = check. Small(dir, i, j); if (max[i][j] > best) best = max[i][j]; int m = Math. min(max[i-1][j], max[i][j-1]); if (m < 3) continue; int d = pic[i-1][j-1] - pic[i-2][j-2]; if (pic[i][j] - pic[i-1][j-1] != d) continue; max[i][j] = (pic[i-m][j-m] + m*d == pic[i][j]) ? m+1 : m; if (max[i][j] > best) best = max[i][j];
INVASION
Invasion § Graf § Hledáme vrcholy s nejkratší vzdáleností menší než K § => Dijsktrův algoritmus
Invasion § Dijsktrův algoritmus – inicializace § Na začátku všechna města +∞ (nebo K) § Pro každou novou základnu § Nastavím její ohodnocení na 0 § Pustím algoritmus (relaxaci), dokud se nezastaví § … atd.
Invasion § Efektivita § Stačí toto jednoduché řešení § Vrcholy se vzdáleností < K § Neměli bychom je po každé základně počítat znovu § Pamatujeme si počet a aktualizujeme
MORTGAGE
Intergalactic Mortgage § Udržujeme stav dluhu (B) § Na konci každého měsíce § Přičteme úrok: B = B. (1+r/12) § Odečteme splátku: B = B – Y § Ale smyčkou se to nestihne…
POLYGON
Simple Polygon § Kontrolujeme průsečík dvojic úseček § Ale opět nikoli každá s každou… § => „Zametací přímka“
Simple Polygon § Zametací přímka § Udržujeme seřazený seznam úseček § protínajících přímku § aktualizujeme (log N) § => Složitost O(N. log N)
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
Simple Polygon
RESULT 1 + 4 * 7 * 2 + 5 *8 + 9*3
Ambiguous Result § Dynamické programování § Vyzkoušíme nejlepší řešení pro každou část výrazu (od–do) § Postupně od kratších k delším
Ambiguous Result § Jak zjistím nejlepší výsledek pro část výrazu I až J ? § Postupně zkusím rozdělovat: § (I až k) + (k až J) § (I až k) * (k až J) k 1 + 4 * 7 * 2 + 5 *8 + 9*3 I J
Ambiguous Result § Jak zjistím nejlepší výsledek pro část výrazu I až J ? § Postupně zkusím rozdělovat: § (I až k) + (k až J) § (I až k) * (k až J) k 1 + 4 * 7 * 2 + 5 *8 + 9*3 I J
Ambiguous Result § Jak zjistím nejlepší výsledek pro část výrazu I až J ? § Postupně zkusím rozdělovat: § (I až k) + (k až J) § (I až k) * (k až J) k 1 + 4 * 7 * 2 + 5 *8 + 9*3 I J
Ambiguous Result § Ze všech možností rozdělení vybereme nejmenší a největší § Pokud postupujeme od kratších intervalů k delším, tak ty menší už známe
Ambiguous Result § Alternativní řešení § Maximum 1. Násobení nulou 2. Sčítání 3. Ostatní násobení § Maximum § Analogicky
DOMINO TILING
Domino Tiling § Prostě to zkoušíme… § Backtracking § Rozumné ořezávání § … ale byli jsme hodní
Domino Tiling § Jak nejlépe postupovat? § Začnu tím, co má nejméně možností § Kostička, která má nejméně možností § Pole, na které už jde dát jen jedna
Domino Tiling 0 4 0 0 2 3 0 0 4 0 4 4 2 1 1 4 1 2 0 3 3 3 1 2 1 0 1 3
Domino Tiling 0 4 0 0 2 3 0 0 4 0 4 4 2 1 1 4 1 2 3 0 3 3 1 2 1 0 1 3
Domino Tiling 0 4 0 0 2 3 0 0 4 0 4 4 2 1 1 4 1 2 3 0 3 3 1 2 1 0 1 3
Autoři úloh Josef Cibulka Jakub Černý Zdeněk Dvořák Martin Kačer Jan Stoklasa Marko Berezovský Jan Katrenic Pavel Kos Radek Pelánek
- Ctu open
- Faculty of civil engineering ctu prague
- Ctu affidamento figli
- Ctu psrp salary schedule
- Ctu del tribunale
- Ctu code
- Czech technical university erasmus
- Arithmometre
- If a round analog clock featuring numbers 1-12
- Hour hand and minute hand
- American scholastic mathematics association
- Fast clock to slow clock synchronization
- 1h = 60 min
- Open innovation open science open to the world
- Private suse server
- Representative population
- Quota sampling qualitative research
- Volunteer sample vs convenience sample
- Difference between cluster and strata
- Cluster vs stratified sampling
- Contoh soal uji t satu sampel
- Ncsbn clinical judgment measurement model
- Young authors contest 2022 howard county
- Yankee clipper contest club
- Virginia tech high school programming contest
- Virginia tech high school programming contest
- Contoh spelling bee
- Toastmasters table topics questions
- Contest management system
- Michigan ffa skills contest
- Contest at mount carmel
- Hamilton naki truth
- Wiznet contest
- Tropical grapefruit moscato
- Drawing contest criteria
- Yammer post examples
- Keynes beauty contest
- The contest among sellers to win customers is known as
- Uil oral reading evaluation sheet
- Dubus eme
- Motivational sales meeting themes
- Lantern making competition
- Contest questions and answers
- International filter photo contest
- Eurovision 1956
- Pumpkin tossing
- Naming contest rules
- Wants that are shared by many people are
- Icpc programming contest problems