+\ex{Upravte algoritmus AC, aby pro ka¾dou pozici v~senì vypsal nejdel¹í
+tam konèící jehlu, a~to efektivnìji ne¾ vyjmenováním v¹ech jehel. Jak se
+algoritmus zmìní, budeme-li chtít vypsat nejdel¹í jehlu, která na dané
+pozici zaèíná?}
+
+\ex{Mìjme seno a jehly. Popi¹te algoritmus, který v~lineárním èase pro ka¾dou
+jehlu spoèítá, kolikrát se v~senì vyskytuje. Èasová slo¾itost by nemìla záviset
+na poètu výskytù -- ten, jak u¾ víme, mù¾e být superlineární.}
+
+\ex{Cenzor dostane mno¾inu zakázaných podøetìzcù a text. V¾dy najde nejlevìj¹í
+výskyt zakázaného podøetìzce v~textu (s~nejlevìj¹ím koncem; pokud jich je více,
+tak nejdel¹í takový), vystøihne ho a postup opakuje. Uka¾te, jak text cenzurovat
+v~lineárním èase.}
+
+\ex{Rotací øetìzce~$\alpha$ o~$K$ pozic nazýváme øetìzec $\alpha[K:{}]\alpha[{}:K]$.
+Jak o~dvou øetìzcích zjistit, zda je jeden rotací druhého?}
+
+\ex{Jak v~lineárním èase zrotovat øetìzec, dostaèuje-li pamì» poèítaèe jen
+na ulo¾ení jedhoho øetìzce a $\O(1)$ pomocných promìnných?}
+
+\ex{Navrhnìte algoritmus, který v~lineárním èase nalezne tu z~rotací zadaného
+øetìzce, je¾ je lexikograficky minimální.}
+
+\ex{Navrhnìte datovou strukturu pro básníky, která si bude pamatovat slovník
+a bude umìt hledat rýmy. Tedy pro libovolné zadané slovo najde takové slovo
+ve~slovníku, které má se zadaným nejdel¹í spoleèný suffix.}
+
+\exx{Upravte datovou strukturu z~pøedchozího cvièení, aby je-li nejlep¹ích rýmù
+více, vypsala lexikograficky nejmen¹í z~nich.}
+
+\ex{Jak reprezentovat slovník, abyste umìli rychle vyhledávat v¹echny
+pøesmyèky zadaného slova?}
+
+\exx{Je dán text a èíslo~$K$. Jak zjistit, který podøetìzec délky~$K$
+se v~textu vyskytuje nejèastìji?}
+
+\exx{Sestrojte co nejefektivnìj¹í algoritmus, který v~daném øetìzci najde
+nejdel¹í podøetìzec, který se vyskytuje vícekrát.}
+
+\exx{Uka¾te, jak pro dané dva øetìzce najít jejich nejdel¹í spoleèný
+podøetìzec.}
+
+\ex{Definujme Fibonacciho slova takto: $F_0=|a|$, $F_1=|b|$, $F_{n+2}=F_nF_{n+1}$.
+Jak pro zadaný øetìzec nad abecedou $\{|a|,|b|\}$ najít nejdel¹í Fibonacciho podslovo?
+}
+
+\exx{Pokraèujme v~pøedchozím cvièení. Dostaneme-li øetìzec nad nìjakou obecnou abecedou,
+jak nalézt jeho nejdel¹í podøetìzec, který je isomorfní s~nìjakým Fibonacciho slovem
+(li¹í se pouze substitucí jiných znakù za |a| a~|b|)?}
+
+\ex{Je dáno slovo. Chceme nalézt jeho nejdel¹í prefix, který je souèasnì suffixem.}
+