+ All Categories
Home > Documents > Sample Solutions CTU Open Contest 200 8

Sample Solutions CTU Open Contest 200 8

Date post: 13-Jan-2016
Category:
Upload: quinto
View: 30 times
Download: 0 times
Share this document with a friend
Description:
Sample Solutions CTU Open Contest 200 8. Alea. Alea. Vygenerování posloupnosti hodů Zkoušení všech možností Již spočítané varianty se ukládají (dynamické programování). Alea. Nejlepší řešení pro kombinace: Využité x nevyužité stavy (2 11 ) Počet „spotřebovaných hodů“ (15 * 11) - PowerPoint PPT Presentation
24
Sample Sample Solutions Solutions CTU Open CTU Open Contest 200 Contest 200 8 8
Transcript
Page 1: Sample Solutions CTU Open  Contest 200 8

SampleSampleSolutionsSolutions

CTU OpenCTU Open Contest 200 Contest 20088

Page 2: Sample Solutions CTU Open  Contest 200 8

AleaAlea

Page 3: Sample Solutions CTU Open  Contest 200 8

Alea

Vygenerování posloupnosti hodů

Zkoušení všech možností

Již spočítané varianty se ukládají (dynamické programování)

Page 4: Sample Solutions CTU Open  Contest 200 8

Alea

Nejlepší řešení pro kombinace: Využité x nevyužité stavy (211) Počet „spotřebovaných hodů“ (15*11)

(Pozn.: Nezáleží na tom, zda mohu v třetím hodu znovu použít odložené kostky)

Page 5: Sample Solutions CTU Open  Contest 200 8

BankingBanking

Page 6: Sample Solutions CTU Open  Contest 200 8

Banking

Jednoduchá simulace

Trochu ztížená nekorektním vstupem

Page 7: Sample Solutions CTU Open  Contest 200 8

ContestContest

Page 8: Sample Solutions CTU Open  Contest 200 8

Contest

Reverzní úloha k B Mohly v tom být „složitosti“

Nutné připravit si dostatečný počet účtů S dostatečnými zůstatky Ve správných bankách ...

... ale nebyly!

Page 9: Sample Solutions CTU Open  Contest 200 8

DeclareDeclare

Page 10: Sample Solutions CTU Open  Contest 200 8

Declare

Dynamické programování Pamatuji si nejlepší řešení pro:

Prvních N slov z prvního textu (2000) Prvních M slov z druhého textu (2000)

Nejlepší řešení BEST(n,m) BEST(n-1,m-1), pokud slovo1[n]=slovo2[m] BEST(n-1,m) a přidat slovo1[n] BEST(n,m-1) a přidat slovo2[m]

Page 11: Sample Solutions CTU Open  Contest 200 8

ExExchangechange

Page 12: Sample Solutions CTU Open  Contest 200 8

Exchange

„záchranná“ úloha

Porovnat každý s každým

Page 13: Sample Solutions CTU Open  Contest 200 8

FenceFence

Page 14: Sample Solutions CTU Open  Contest 200 8

Fence

Pouze 16 stromů Zkusit všechny kombinace pokácení (216)

Pro každou kombinaci Sečíst dřevo z pokácených stromů Zkusit, zda stačí na konvexní obálku Najít minimum

Page 15: Sample Solutions CTU Open  Contest 200 8

Fence

Určení konvexní obálky Pouze 16 bodů => existuje řešení v O(n3)

Všechny dvojice bodů Pomocí kartézského součinu zjistit, zda

jsou ostatní body na stejné straně

Page 16: Sample Solutions CTU Open  Contest 200 8

GamblingGambling

Page 17: Sample Solutions CTU Open  Contest 200 8

Gambling

Tři (překrývající se) úseky o délce K

Úsek s nejmenším součtem je vždy součástí výsledku Zbytek lze pokrýt dvěma úseky z

jakéhokoli jiného řešení => Pro každé optimum lze najít také

optimum obsahující onen nejmenší úsek

Page 18: Sample Solutions CTU Open  Contest 200 8

Gambling

Hledáme 2 úseky, které pokryjí zbytek

Pro každé číslo zjistíme jeho nejlepší pokrytí „zleva“ a „zprava“ Lze v lineárním čase

Najdeme 2 sousedící čísla s nejlepším součtem

Page 19: Sample Solutions CTU Open  Contest 200 8

HelpHelp

Page 20: Sample Solutions CTU Open  Contest 200 8

Help

Začnu nejmenším balíčkem Neexistuje lepší řešení, než jeho hodnota

Ostatní seřadím podle hodnoty... ... a přidávám od NEJVĚTŠÍHO

Page 21: Sample Solutions CTU Open  Contest 200 8

InsertInsert

Page 22: Sample Solutions CTU Open  Contest 200 8

Insert

Stromy jsou rekurzivní struktury Rekurzivní řešení

Pro jeden uzel (i žádný) je 1 možnost Jinak podle obou podstromů

Page 23: Sample Solutions CTU Open  Contest 200 8

Insert

Levý podstrom: N1 uzlů a C1 možností

Pravý podstrom: N2 uzlů a C2 možností

Střídání L a P: comb(N1, N1+N2)

Možnosti permutace vlevo: C1

Možnosti permutace vlevo: C2

... To všechno vynásobíme

Page 24: Sample Solutions CTU Open  Contest 200 8

Autoři úlohAutoři úloh

Josef Cibulka

Jan Stoklasa

Martin Kačer


Recommended