Строки, бор и Ахо-Корасик (17 марта 2016)
- Хеши, префикс-функция, Z-функция
- Хеши: вероятности; как выбрать модуль
- С++ : можно умножать числа до 1018 по модулю. Java : BigInteger.
- Найти номер строки в её суффиксном массиве
- Для каждого префикса строки S проверить его периодичность
- Найти в тексте s слово a, за ним слово b так, чтобы расстояние между вхождениями было минимально
- Количество подпалиндромов строки за O(nlogn)
- Цензор: Решаем задачу про текст и поиск словарных слов хешами
- Бор
- Цензор: пишем задачу dictionary [code]
- Сортировка строк бором
- Задачи на Ахо-Корасика
- Для каждого словароного слова определить, входит ли оно в текст
- Для каждого словароного слова посчитать количество вхождений в текст
- Для каждого словароного слова найти самое левое вхождение в текст
- [не успеем] Посчитать суммарное количество вхождений словарных слов в текст (количество пар "слово, позиция"). Текст online растёт.
- [не успеем] Для каждого словарного слова найти все вхождения в текст за O(|text|+answer). Текст online растёт.
- [не успеем] Найти минимальную по длине строку, которую можно прочитать двумя разными способами
- [не успеем] За ход можно выписать префикс любой из данных строк. Нужно за минимальное число ходов выписать весь текст.
- [не успеем] Поиск самой длинной подстроки словароного слова, входящей в текст.
- [не успеем] За ход можно выписать подстроку любой из данных строк. Нужно за минимальное число ходов выписать весь текст.