Professional Documents
Culture Documents
Rjesenja
Rjesenja
Rjesenja
INFORMATIKE 2012/2013
3. KOLO
OPISI ALGORITAMA
HONI 2012/2013 Zadatak KNJIGA
3. kolo, 15. prosinca 2012. Autor: Adrian Satja Kurdija
Kategorija: ad hoc
Kategorija: ad hoc
HONI 2012/2013 Zadatak ŠAHOVNICA
3. kolo, 15. prosinca 2012. Autor: Adrian Satja Kurdija
Prvi pristup.
Drugi pristup.
Kategorija: ad hoc
HONI 2012/2013 Zadatak POREDAK
3. kolo, 15. prosinca 2012. Autor: Adrian Satja Kurdija
Kako pronaći poziciju stringa u drugom nizu? Jedan je način pomoću for-
petlje, no vremenska složenost algoritma tada iznosi: O(N2) za odabir svih
parova stringova u prvom nizu, puta O(N) za pronalazak pozicija odabrana
dva stringa u drugom nizu (zanemarit ćemo složenost usporedbe stringova,
koja je proporcionalna njihovoj duljini), što ukupno iznosi O(N3). Za dano
ograničenje broja N takav program bit će prespor.
Možemo primjerice, prije traženja rješenja, za svaki k-ti string iz prvog niza
for-petljom pronaći njegovu poziciju u drugom nizu i spremiti je u pomoćni
niz. Ovo zvuči slično gornjemu, ali postoji bitna razlika: ovdje po drugom
nizu prolazimo O(N) umjesto O(N2) puta. Složenost ispada O(N) puta O(N)
za opisano generiranje pomoćnog niza, plus O(N2) za provjeru svih parova,
što je ukupno O(N2), a to je dovoljno brzo.
Kategorija: ad hoc
HONI 2012/2013 Zadatak MALCOLM
3. kolo, 15. prosinca 2012. Autor: Adrian Satja Kurdija
Brže rješenje učitava string, broji njegova slova – označimo njihov broj sa D
– i potom odmah, bez nove for-petlje, odgovara na pitanje: koliko od
prethodnih K stringova ima točno D slova?
Kategorija: sweep
HONI 2012/2013 Zadatak AERODROM
3. kolo, 15. prosinca 2012. Autor: Adrian Satja Kurdija
Kakvo god bilo, gornje rješenje ne radi dovoljno brzo za M = 1 000 000 000.
Dovoljno brzo rješenje, složenosti O(N log M), koristi binarno pretraživanje:
zanima nas najranije vrijeme u kojem se svi ljudi mogu registrirati, a u
stanju smo za bilo koje vrijeme T provjeriti je li ono manje ili veće od
traženog, odnosno – može li se M ljudi u vremenu T registrirati, ili ne može.
Prvo rješenje.
Drugo rješenje.
Kategorija: stringovi
HONI 2012/2013 Zadatak PROCESOR
3. kolo, 15. prosinca 2012. Autor: Ivan Katanić
Primijetimo: ako postoji neko rješenje, onda postoji barem još jedno, a
njega dobijemo tako da invertiramo bitove svim registrima u prvom rješenju.
Kategorija: ad-hoc