banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 21 Jul 2025, 23:03

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 164 Posta ]  Idi na stranicu 1, 2, 3, 4, 5 ... 9  Sledeća
Autoru Poruka
PostPoslato: 17 Jan 2008, 22:40 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Zdravo ljudi, evo prođe još jedna godina, pa da nastavim sa tradicijom :)

Za početak, sve Java programere iz okoline sigurno će zainteresovati Challenge 24 - koliko sam čuo, veoma zanimljivo i nepredvidivo takmičenje. Kvalifikacije se igraju u februaru i biće algoritamskog takmičenja, nalik na ACM. Timove čine tri člana. Timovi koji se kvalifikuju učestvovaće na finalu u Budimpešti gdje se očekuje neko KLANJE jer su zadaci nešto completely different. Prošle godine bila je neka robo-pucačina u kojoj su se programi borili u nekoj areni, a prethodnih godina bilo je i obrade videa i zvuka i koječega - široko znanje se ovdje cijeni ;)

Više informacija: http://www.challenge24.org/2008/

Nagrade postoje, mada je više simboličko. Prava korist je u vježbi, ali i u referenci, ako volite svoj CV :)

Mnogo zanimljivije za većinu ljudi biće Top Coder Open, gdje je konkurencija 10x jača ali su i nagrade 100x veće. Preko 100 000 programera iz cijelog svijeta takmičiće se i ove godine na TC Open-u u izradi algoritama, komponenti i tzv "marathon" mečevima. Pa, navali narode. Posebno pozivam studente da se pridruže barem na Algorithm takmičenja već danas, na http://topcoder.com/tc , pa, vidimo se u areni :)))

http://www.topcoder.com/tc?module=Stati ... 8&d3=about


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 18 Jan 2008, 03:19 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
Mislio sam ja vec otvoriti ovu temu, ali sam ipak cekao tebe.

Ja ove godine cu se po zadnji put takmicite u konkurenciji srednjoskolaca pa sam poceo raditi dosta ranije. Nisam bas mnogo ali se radi. Kako se radi kod vas?

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 18 Jan 2008, 21:46 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Srećno Nemanja, meni je najbolje bilo u četvrtoj godini ;)

BOI je ove godine u Makedoniji, pa ako BiH bude učestvovala, možda se i vidimo tamo :)

Šta ti je ovo pitanje "kako se radi kod vas", na šta misliš?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 19 Jan 2008, 01:30 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
che.guevara je napisao:
Srećno Nemanja, meni je najbolje bilo u četvrtoj godini ;)

BOI je ove godine u Makedoniji, pa ako BiH bude učestvovala, možda se i vidimo tamo :)

Šta ti je ovo pitanje "kako se radi kod vas", na šta misliš?


Mislim na "konkurenciju", kolege, kako se spremaju?

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 19 Jan 2008, 02:00 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Pa rade ljudi, vježbaju na matematičkoj gimnaziji, studenti, bivši takmičari i profesori spremaju predavanja i zadatke, i za pripreme i za takmičenja. Imaju ovdje neke solidne domaće knjige iz programiranja, ali i ljudi rade ova internet takmičenja masovno. Ima i više gikova, više ljudi koristi linuks i ostala čuda ;)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 22 Jan 2008, 23:12 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 23 Dec 2006, 20:47
Postovi: 101
Lokacija: BN
Znaci, Nemanja, pucas na visoko ove godine? 8)

Kada si poceo sa pripremama i sta konkretno radis?

Ja sam konstantno vjezbao, od kraja proslog BHOI-a... Sada zvanicno u skoli pocinju pripreme. Videcemo sta ce biti, ali nece biti lako. Ostaju nam Ibrahim i Marko jos ovu godinu...

Ma, bice dobro samo ako se bude igrao basket 7 dana pred takmicenje, a ne da se vjezba! :D Jel' tako, Nemanja? :wink:

_________________
Pretpostavka: Ljudi ne bi trebalo da rade, vec da se zezaju.
Dokaz: Majmun se citav zivot zezao i od njega je postao covjek!
:)
Nikad ne zavrsim potpis do kr


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 00:41 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Biće vam Marko tu i slijedeće godine :)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 02:16 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
BEEP BEEP :)

PSS. Sorry moderatori (visa klasa) i mi pijemo

Edit: che.guevara

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 10:09 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 23 Dec 2006, 20:47
Postovi: 101
Lokacija: BN
Srecko, ja sam se prije nekih pola mjeseca prijavio za Challenge24, samo cekam dvojicu drugova da se nakane i da se registruju.

Oni veze nemaju o algoritmima, ali su zato dobri u C# i VB.NET-u, zezaju se sa tim svakodnevno, prave adresare, muzicke plejere i sl. Nemamo nikakve sanse, ali makar da se zezamo...

Kazes, bice online takmicenje algoritamske prirode? Fino, fino... Ja nista nisam detaljno procitao, nisam cak ni kreirao tim! Valjda cu uskoro...

Ucestvujes li ti?

_________________
Pretpostavka: Ljudi ne bi trebalo da rade, vec da se zezaju.
Dokaz: Majmun se citav zivot zezao i od njega je postao covjek!
:)
Nikad ne zavrsim potpis do kr


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 10:12 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 23 Dec 2006, 20:47
Postovi: 101
Lokacija: BN
A da, za TCO... Nisam punoljetan... :cry:

_________________
Pretpostavka: Ljudi ne bi trebalo da rade, vec da se zezaju.
Dokaz: Majmun se citav zivot zezao i od njega je postao covjek!
:)
Nikad ne zavrsim potpis do kr


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 12:14 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2624
@Nemanja666: Promijeni ruku. ;)

@che: Radis li ista za lovu trenutno il' samo dzabalebaris po tim online takmicenjima?

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 19:35 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Digresija je napisao:
@Nemanja666: Promijeni ruku. ;)

@che: Radis li ista za lovu trenutno il' samo dzabalebaris po tim online takmicenjima?


Haha, e Nemanja, ja ne bi dozvolio da me neko ovako zeza :) Oprezno sa pićem, ja za malo alkoholičar da postanem, srećom, izbavi me razum iz totalnog ponora ... 8) :lol:

Digresija, kako to misliš, džabalebarim? Breeee! Takmičenja su super, to ti je odlična stavka u CV-u, neki ljudi su čak dogurali do MIT-a preko tih takmičenja :) Trenutno ne smem da ti kažem čime se bavim, možda na pp ;)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2008, 20:16 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2624
che.guevara je napisao:
Trenutno ne smem da ti kažem čime se bavim, možda na pp ;)
Trzni na PP. :D

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 01:29 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 23 Dec 2006, 20:47
Postovi: 101
Lokacija: BN
Zadatak za vjezbu:

Kod:

Dat je niz prirodnih brojeva A duzine N. Treba izvrsiti M operacija koje mogu biti sledecih formi:
- I X => promijeni vrijednost I-tog elementa niza A na X
- INV => stampati trenutan broj inverzija niza
Broj inverzija niza je uredjen broj parova (i,j) za koje vazi da je (i<j) i (A[i]>A[j]).

Ogranicenja:
1 <= N <= 250000
1 <= M <= 10^4
1 <= A[i] <= 50000

Primjer:
Ulaz:
10  8     
2 6 6 4 7 6 3 5 9 1
inv     
8  8     
inv
5 6
10 5
inv
7 1
inv

Izlaz:
21
17
13
14



Najbolju slozenost koju sam uspio da dobijem je priblizno O(M*N).

Kako? Da ne trosim vrijeme i prostor na objasnjavanje algoritma, najkrace receno: naredba INV mi ima konstantnu nezavisnu slozenost O(1) a operacija I X ima slozenost O(N), tako da se u najgorem slucaju svaka od M operacija izvrsi u vremenu N, sto daje O(M*N).

E sad, posto ne mogu da eliminisem M iz slozenosti, jedino mi je N "usko grlo", pa pretpostavljam da je najbolje sto se moze uraditi O(M*logN) i to vjerovatno sa kumulativnim tabelama, uz male modifikacije. Problem je sto ja ne znam da modifikujem kumulativne tabele iz prostog razloga sto ne razumijem matematicku osnovu po kojoj rade.

Ima li neko ideju koja ovo rjesava u O(M*logN) uz pomoc neke druge metode (strukture podataka, grafovi, dinamicko...)?

_________________
Pretpostavka: Ljudi ne bi trebalo da rade, vec da se zezaju.
Dokaz: Majmun se citav zivot zezao i od njega je postao covjek!
:)
Nikad ne zavrsim potpis do kr


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 10:10 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
Digresija je napisao:
@Nemanja666: Promijeni ruku. ;)


To sto si ti spao da se igras sam sa sobom ne znaci da smo svi spali.

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 21:27 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
Ja danas poceo drzati neku sekciju u skoli i ujedno pisem neki skriptu.

Ovo mi je u planu:

Sortiranje (Sorting)

Elementarne metode
Quick Sort
Obilježavanje i spajanje

Traženje (Searching)


Elementarne metode
Binarno drveće
Hashing

Obrada stringova

Traženje podstringova
Uporedjivanje dijelova
Sintačka analiza (Parsing)

Alogoritmi iz geometrije

Elementarne metode
Convex Hull
Traženje u opsegu
Geometriski presjeci
Najbliža tačka

Grafovi

Elementarne metode
Spajanje
Grafovi sa težinom
Usmjereni grafovi
Network Flow
Matching

Napredno

Alogoritamske metode
Brze Fourier transformacije
Dinamičko programiranje
Linearno programiranje
Iscrpno traženje
NP Problemi

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 21:57 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Wow, svaka ti čast ako znaš bar trećinu toga što si nabrojao :)

Samo guraj! Ja čim završim faks i doktoriram, dolazim tamo u RS da držim dodatnu širom države ;)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 22:47 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 28 Mar 2006, 11:25
Postovi: 898
Nisam ni rekao da znam, tek radim drugo poglavlje ali mi je to u planu da odradim do drzavnog

_________________
U raju je lijepo, ali u paklu je raja.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2008, 23:26 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Evo vam jedna korisna stvar, skoro mi pokazao drug. Radi se o kumulativnim tabelama, pa pošto me je pitao Dragon znam li nešto o tome, da mu i odgovorim ovdje.

Dakle kumulativne tabele su strukture koje vam odgovaraju na pitanje "kolika je suma prvih X elemenata". Dakle ako imate niz od 1000 brojeva, ova struktura može brzo da odgovori na pitanje "suma prvih 100" ili "suma prvih 200" brojeva. Upotreba ove strukture je vrlo korisna, recimo pomoću tako jednostavnog "upita" može se saznati i kolika je suma bilo kojeg intervala, recimo, između A i B, suma iznosi vrijednost u kumulativnoj tabeli za B - vrijednost za A.

E sad, kako se ovo implementira, pa, većina ljudi zna jedan način, a to je da se prilikom računanja sume prvih 100 brojeva npr, jednostavno odradi jedna petlja od 1 do 100 i te vrijednosti saberu. Složenost ove operacije je O(n) (linearna). Mnogo bolje bi bilo napraviti niz suma u kojem ćemo čuvati (keširati) sume svih intervala od 0 do i (0<i<N - broj elemenata). Onda kada nam zatreba vrijednost (kumulativna suma) samo pročitamo vrijednost tog niza.

Pa šta je problem onda, kod ovog prvog, čitanje je O(n) a kod ovog drugog načina je O(1)? Problem je što kod prvog načina, mijenjanje bilo koje vrijednosti nije problem, jer se kumulativna suma svaki put izračunava ponovo, međutim, kod drugog načina, promjena neke vrijednosti utiče na sve kumulativne sume iznad tog indeksa, što znači da je operacija linearna, O(1). Evo vam kako da dobijete složenost O(logN) za oba slučaja:

Ako imamo n elemenata, definišimo N kao n*2, ili ljepše, n << 1.

Napravimo niz int kum[N] i inicijalizujemo sve vrijednosti na 0 (u javi je ovo automatsko, u C-u je najbolje koristiti memset funkciju).

Potrebne su dvije funkcije, jedna za čitanje, druga za upisivanje.
Kod:
int get (int i) {
    int r = 0;
    while (i > 0) {
        r += kum[i];
        i -= i & -i;
    }
    return r;
}

void add (int i, int v) {
    while (i < N) {
        kum[i] += v;
        i += i & -i;
    }
}


Sad vi mene recite šta znači, odnosno radi, linija i -= i & -i;
Happy hacking ;)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 25 Jan 2008, 00:01 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Pošto neki ovdje rade u Paskalu, a (na moje krajnje razočaranje) on nema bitwise operatore (& u gornjem C kodu), evo načina da se zaobiđe ta limitacija:

Kod:
const
N = 10000;
var
kum, lsb: array[1..N] of integer;

procedure initLSB();
var
  i: integer;
begin
  for i:=1 to N do
    if i mod 2 = 0 then
      lsb[i] = lsb[i/2] * 2
    else
      lsb[i] = 1;
end;

function get(i : integer) : integer;
var
r: integer;
begin
r := 0;
while (i > 0) do begin
   r := r + kum[i];
   i := i - lsb[i];
end;
get := r;
end;

procedure add(i, v: integer);
begin
  while (i < N) do begin
    kum[i] := kum[i] + v;
    i := i + lsb[i];
  end;
end;


Dakle potrebno je samo pozvati funkciju "initLSB" pre korišćenja tabele. Nisam kompajlirao kod (ni ovaj ni prethodni) tako da ako ima bugova, srećno vam bilo debagovanje :)

I dalje stoji pitanje šta je ono gore (hint: LSB?)


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 164 Posta ]  Idi na stranicu 1, 2, 3, 4, 5 ... 9  Sledeća

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 0 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs