2. Jak zjistit, jestli je zadaný řetězec periodický? Tedy zda pro daný řetězec
3. Vymyslete pseudopolynomiální algoritmus pro “problém tří loupežníků”: Je dána posloupnost přirozených čísel, lze ji rozdělit na 3 části se stejným součtem? [5]
4. Bonus: Navrhněte hradlovou sít’, která počítá tranzitivní uzávěr orientovaného grafu. (Na vstupu je matice sousednosti, na výstupu matice taková, že na pozici (i,j) je jednička právě tehdy, když v grafu existuje orientovaná cesta z vrcholu i do vrcholu j).
Idea riešení:
1. Viď průvodce najmä od str. 398, zíde sa vedieť aj prečo a ako funguje to spájanie. Časová by mala byť
2. Viac spôsobov. Zdvojiť vstup a nájsť periódu. KMP na to funguje dobre. Alebo predpočítať si najdlhší vlastný prefix, ktorý je aj suffix KMPčkom a potom len spraviť či
3. Rekurzia je pomalá
4. Neriešil som. TBH ani nepozrel, pretože mi to nebolo potrebné