|
0 / 0 / 0
Регистрация: 09.11.2023
Сообщений: 14
|
||||||
Найти префикс строки максимальной длины, являющийся ретрострокой29.11.2024, 10:42. Показов 1956. Ответов 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
Найти подпоследовательность максимальной длины, которая входит в две данные строки
Поиск строки максимальной длины строки файла и вывод в другой файл Общие строки максимальной длины Поиск строки максимальной длины по критерию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|