|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
||||||
Найти префикс строки максимальной длины, являющийся ретрострокой29.11.2024, 10:42. Показов 2056. Ответов 16
S называется последовательность символов S1,...,Sn, где |S|=n — это длина строки S.
Для любого k (1≤k≤|S|) k-м префиксом строки S называется строка S1,...,Sk длины k. Если k<|S|, то префикс называется собственным. Аналогично для любого k (1≤k≤|S|) k-м суффиксом строки S называется строка S|S|−k+1,...,S|S| длины k. Если k<|S|, то суффикс также называется собственным. Назовём числом повторяемости строки S количество её различных собственных суффиксов, каждый из которых совпадает с префиксом той же длины, что и этот суффикс. Назовём строку ретрострокой, если её число повторяемости строго больше чисел повторяемости всех её собственных префиксов. Дана строка S. Нужно найти её префикс максимальной длины (не обязательно собственный), являющийся ретрострокой. Входные данные В первой строке входного файла записана строка S, 1≤|S|≤1000000. Строка содержит лишь символы с ASCII-кодом от 33 до 126. Выходные данные В первой строке выходного файла должен быть выведен префикс S максимальной длины, являющийся ретрострокой. Примеры Входные данные z Выходные данные z Входные данные aabaabaaabaabaaabaaba Выходные данные aabaabaaabaabaa Нужно оптимизировать задачу Превышено ограничение времени на тесте 12 - 500 мс
0
|
||||||
| 29.11.2024, 10:42 | |
|
Ответы с готовыми решениями:
16
Найти слово максимальной длины в одной строке и поменять со словом максимальной длины другой строки Строки. Найти и вывести на экран слово максимальной длины
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 29.11.2024, 18:24 | |
|
Объясните первый тест. Почему надо z выводить?
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
|
| 29.11.2024, 18:30 [ТС] | |
|
строка z удовлетворяет определению ретростроки, и она является префиксом максимальной длины, который можно вывести, поэтому ответ на первый тест — z
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 29.11.2024, 18:34 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
|
| 29.11.2024, 18:47 [ТС] | |
|
Если длина строки S=1, то она всегда будет ретрострокой, так как не имеет собственных префиксов.
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||
| 29.11.2024, 19:06 | ||
|
Индекс строки из одного символа равен нулю. Индекс пустой строки либо не определен, либо тоже ноль. И в том и в другом случае нельзя сказать, что отсутствие собственных префиксов делает строку с нулевым индексом ретрострокой. Все это очень странно.
0
|
||
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
|
| 29.11.2024, 19:18 [ТС] | |
|
Число повторяемости строки S (равное 0) строго больше числа повторяемости всех её собственных префиксов (пустое множество).
В условии задачи говорится, что 1≤∣S∣, а значит, пустая строка вообще не рассматривается. Таким образом, ситуация с её числом повторяемости или определением ретростроки не возникает. Строка из одного символа всегда является ретрострокой, потому что: У неё нет собственных префиксов. Пустота множества чисел повторяемости собственных префиксов автоматически удовлетворяет условию строго больше.
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||
| 30.11.2024, 14:30 | ||
|
Сравнивать вы можете только упорядоченные объекты. Например, целые числа между собой. Индекс повторяемости единичной строки равен нулю. Индекс повторяемости пустого множества/пустой строки, как вы сами выше заметили, не определён. Вы не можете ничего сравнивать с неопределенностью. Добавлено через 6 минут По самой задаче. Научитесь вычислять индекс повторяемости через префикс-функцию. Правда, полсекунды на миллион символов, для питона чересчур. На тестах в 1М символов мой комп укладывается в эти ограничения, но с трудом и он мощнее обычных тестирующих систем. Возможно получится на PyPy или придется на С++ переписывать.
0
|
||
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
|
| 01.12.2024, 15:48 [ТС] | |
|
Это не решение
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 02.12.2024, 02:55 | |
|
Я не вижу смысла в выкладывании своего решения. Хотел помочь прийти вам к нему самостоятельно. Если у вас нет желания его получить, то и у меня интереса тоже нет.
1
|
|
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
|
| 02.12.2024, 10:37 [ТС] | |
|
У меня есть желание его получить, написал код c использованием префикс-функции, код не прошел тестирование, ограничение по времени, писал на PyPy
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 02.12.2024, 21:49 | |
|
Выложите, посмотрим чем можно помочь
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
||||||
| 03.12.2024, 14:16 [ТС] | ||||||
|
Попытался использовать кэш для оптимизации - программа все равно не прошла теста на время
0
|
||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 03.12.2024, 22:59 | |
|
Не очень понял, где у уас префикс функции используется, но считается все не так.
Я сейчас на финале яндекс капа, возвращаюсь в пятницу, зашлю код, как надо
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 06.12.2024, 11:36 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
||||||
| 06.12.2024, 12:51 [ТС] | ||||||
0
|
||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||||||
| 06.12.2024, 18:14 | ||||||
Сообщение было отмечено igor_vahroev как решение
Решение
igor_vahroev, во-первых, у вас неправильно считается число повторяемости.
Вы считаете повторы не не по концу префикса, а по началу. Как код мог пройти хоть какое-то тестирование, прежде чем вылететь по времени? Во-вторых, для нахождения максимальной ретростроки нужен индекс первого максимума, это делается за один проход, без каких-либо внутренних циклов Добавлено через 28 минут Вот код, раз уж обещал
1
|
||||||
| 06.12.2024, 18:14 | |
|
Помогаю со студенческими работами здесь
17
Найти подпоследовательность максимальной длины, которая входит в две данные строки
Поиск строки максимальной длины строки файла и вывод в другой файл Общие строки максимальной длины Поиск строки максимальной длины по критерию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|