Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Revsecv  (Citit de 2661 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« : Ianuarie 24, 2016, 09:42:03 »

Aici se pot pune întrebări legate de problema Revsecv de la Runda 2 a concursului Algoritmiada 2016.
Memorat
dutzul
De-al casei
***

Karma: 42
Deconectat Deconectat

Mesaje: 119



Vezi Profilul
« Răspunde #1 : 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) ??
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #2 : Ianuarie 24, 2016, 12:19:23 »

Disjuncte ca pozitii, se vede din relatiile dintre indici enuntate inainte de explicatia informala.
Memorat
cosminlinca
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #3 : Ianuarie 24, 2016, 13:41:51 »

Rezultatul corect la exemplul dat nu este cumva 15,in loc de 16?
Memorat
andreiiii
Echipa infoarena
Client obisnuit
*****

Karma: 23
Deconectat Deconectat

Mesaje: 86



Vezi Profilul
« Răspunde #4 : Ianuarie 24, 2016, 13:49:55 »

Rezultatul din exemplu este corect.
Memorat
xtreme77
Client obisnuit
**

Karma: 7
Deconectat Deconectat

Mesaje: 69



Vezi Profilul
« Răspunde #5 : Ianuarie 24, 2016, 13:51:35 »

Se considera in rezultat si secventele de o litera ?
Memorat
andreiiii
Echipa infoarena
Client obisnuit
*****

Karma: 23
Deconectat Deconectat

Mesaje: 86



Vezi Profilul
« Răspunde #6 : Ianuarie 24, 2016, 13:53:18 »

DA
Memorat
RazvanR104
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #7 : 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).
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #8 : 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.
Memorat
RazvanR104
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #9 : 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
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #10 : 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.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines