Strona 1 z 1
[Algorytmy] Najkrótszy okres słowa
: 30 cze 2012, o 23:06
autor: matinf
Witam,
Czy istnieje jakaś pomocna struktura danych która pomoże mi szukać najkrótszego okresu słowa.
Z tym że tych słów będzie dużo więć \(\displaystyle{ O(n^2)}\) odpada ;(.
Czekam na propozycje
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 03:09
autor: paladin
Wystarczy policzyć tablicę prefiksowo-sufiksową (znaną też jako "tablica \(\displaystyle{ \pi}\)", "tablica KMP" albo "partial match", nie mylić z tablicą sufiksową!). Ona przy okazji wyznacza najkrótszy okres słowa.
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 09:35
autor: matinf
Tak, myślałem o tym, jednak jedno mi nie pasuje w tym. Funkcja P znajdzie nam najdłuższe właściwe prefixo-sufixy dla słów: s[1...n], s[1..n-1], s[1...n-2]......... itd
ale jeśli ja dostanę pytanie o słowo s[5...9] ?
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 09:50
autor: paladin
Ach, chodzi o okresy podsłów danego słowa. Czyżby to zadanie?
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 11:12
autor: matinf
zadanie analogia
ale nie to miałem na myśli
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 16:45
autor: JumpSmerf
Na OI-u napisałem tylko rozwiązanie za 30 pkt., ale wydaje mi się, że w tym zadaniu przydatne będzie haszowanie lub algorytm KMR. W każdym razie na pewno odpowiedź znajdziesz tutaj:
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 17:03
autor: paladin
Hm, to co miałeś na myśli?
[Algorytmy] Najkrótszy okres słowa
: 1 lip 2012, o 17:35
autor: matinf
źle się wyraziłem, w moim zadaniu chodzi o to samo
tyle, ze nie rozwiazuję tego pod to