Titlul: Revsecv Scris de: Mihai Calancea din Ianuarie 24, 2016, 09:42:03 Aici se pot pune întrebări legate de problema Revsecv (http://www.infoarena.ro/problema/revsecv) de la Runda 2 (http://www.infoarena.ro/algoritmiada-2016/runda-2) a concursului Algoritmiada 2016 (http://www.infoarena.ro/algoritmiada-2016).
Titlul: Răspuns: Revsecv Scris de: Bodnariuc Dan Alexandru din Ianuarie 24, 2016, 12:17:03 ce se intelege prin disjuncte? disjuncte ca si string ? sau ca si pozitii?
gen ababa pozitile 1-3 si 3-5 sunt ok (adica coincid) ?? Titlul: Răspuns: Revsecv Scris de: Mihai Calancea din Ianuarie 24, 2016, 12:19:23 Disjuncte ca pozitii, se vede din relatiile dintre indici enuntate inainte de explicatia informala.
Titlul: Intrebare Scris de: Linca Razvan Cosmin din Ianuarie 24, 2016, 13:41:51 Rezultatul corect la exemplul dat nu este cumva 15,in loc de 16?
Titlul: Răspuns: Revsecv Scris de: Popa Andrei din Ianuarie 24, 2016, 13:49:55 Rezultatul din exemplu este corect.
Titlul: Răspuns: Revsecv Scris de: Patrick Sava din Ianuarie 24, 2016, 13:51:35 Se considera in rezultat si secventele de o litera ?
Titlul: Răspuns: Revsecv Scris de: Popa Andrei din Ianuarie 24, 2016, 13:53:18 DA
Titlul: Răspuns: Revsecv Scris de: Razvan-Andrei Ciocoiu din Ianuarie 26, 2016, 22:22:04 Ma poate ajuta cineva cu o idee de rezolvare? M-am gandit la suffix arrays, dar nu vad nici asa cum as putea scoate mai putin de O(N^2).
Titlul: Răspuns: Revsecv Scris de: Mihai Calancea din Ianuarie 26, 2016, 22:31:35 Mergi pe ideea cu Suffix Arrays. Gândește-te în primul rând cum rezolvi problema dacă nu se pune restricția ca subsecvențele să fie disjuncte ca indici.
Titlul: Răspuns: Revsecv Scris de: Razvan-Andrei Ciocoiu din Ianuarie 27, 2016, 16:52:15 Ma gandesc asa: combin sirul normal cu sirul reversed despartite de un caracter si construiesc suffix array-ul. Parcurg in ordine descrescatoare sufixele (de exemplu) si ma intereseaza suma tuturor LCP-urilor dintre sirul curent si cele de sub el, pe care o adun la solutie. La schimbarea indexului, va trebui sa modific LCP-urile de dedesubt, si am nevoie de inca o structura de date care sa-mi spuna cate valori mai mari decat o anumita valoare am si sa le transforme pe toate intr-o anumita valoare. M-am gandit aici la un arbore de intervale cu lazy update.
Indexul va fi intotdeauna pe un sufix al sirului reversed, iar suma LCP-urilor o voi lua doar din cele care apartin sirului normal. S-ar putea sa ma complic tare, dar asta e ideea la care am ajuns. Totusi, nu-mi dau seama inca cum voi elimina solutiile care nu sunt disjuncte. :sad: Titlul: Răspuns: Revsecv Scris de: George Marcus din Ianuarie 27, 2016, 19:15:04 Eu nu stiu solutia, dar partea aia mi se pare cea mai simpla. Solutiile care nu sunt disjuncte apar la palindroame. Pentru fiecare centru de palindrom poti gasi o formula.
|