РУҚА
24

Решение: Максимальная подстрока без шаблона

ЕГЭ · Информатика · Задание 24 · Массивы и строки
ПовышеннаяФИПИ4D2418Короткий ответ≈ 15 минутРазбор в 4 шага
Условие

Задание выполняется с использованием прилагаемых к заданию файлов.

Текстовый файл состоит не более чем из 1 200 000 символов X, Y и Z.
Определите максимальное количество идущих подряд символов, среди которых нет подстроки XZZY.
Для выполнения этого задания следует написать программу.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Нужно найти самый длинный фрагмент строки, в котором не встречается XZZY. При последовательном просмотре достаточно отслеживать последнее положение окончания найденной подстроки XZZY.

2

Если подстрока XZZY заканчивается в позиции i, то новый допустимый фрагмент может начинаться только после предыдущего вхождения. Для поиска вхождений удобно проверять последние четыре символа строки.

3

После каждого символа вычисляем текущую длину допустимого фрагмента и обновляем максимум. Алгоритм работает за O(n) по времени и использует O(1) дополнительной памяти.

Числовой ответ определяется содержимым прилагаемого текстового файла; его содержимое в исходных материалах не предоставлено.

Ответ

Определяется по содержимому прилагаемого файла.

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Поиск только первого вхождения XZZY вместо всех вхождений.

Неверное обновление левой границы после обнаружения запрещённой подстроки.

Использование алгоритма с многократным перебором всей строки, что может привести к превышению времени работы.

Закрепить приёмВ теме «Массивы и строки» ещё 237 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 24 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Регистрация не нужна.