Привет всем. Такая проблема: разобрался с базовыми алгоритмами на строках (префикс-функции и Z-функции), почитал про их применение (поиск подстроки в строке, сжатие строки, поиск количества различных подстрок), понял, вроде все нормально.
Проблема начинается на практике: сколько встречал задач уровня D(Div2)/B(Div1) на строки, сразу определял, что задача будет на эти структуры, но дальше дело не заходило — решать задачи абсолютно не получается. Каноничный пример задачи — D с последнего контеста в div2 (http://mirror.codeforces.com/contest/535/problem/D).
Может кто подскажет, как проще найти тот связующий мостик между теорией и практикой? Может есть статьи на тему более нетривиального применения, чем базовые возможности этих структур? Или может есть примеры задач, на которых все учились, и которые как раз-таки формируют полное понимание?