ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1590. Шифр Бэкона

Как сэкономить?
Послано Ivanov Alexander 14 апр 2008 21:19
Я построил дерево, программа работает правильно, но требует около 90МБ памяти. Как можно сократить количество используемой на дерево памяти?
Re: Как сэкономить?
Послано -AlexandeR- (TNU) 30 апр 2008 00:39
Попробуй взять другой алгоритм.
Префиксные массивы проходят по времени.
Re: Как сэкономить?
Послано Alias aka Alexander Prudaev 30 апр 2008 13:45
there exist simple O(N^2) DP (N^2 memory)
but on the contest i have solve it in O(N^2) using hash
(O(N) memory)
Re: Как сэкономить?
Послано SPIRiT 10 июн 2008 17:38
Что за дерево Вы строите? Я строил суффиксное дерево, представляя ребра как два целых числа - начало и длины. Всего я поставил ограничение на массив вершин, используемых деревом, 40000 вершин (что в память уложится по-любому - в вершине хранится начало текста, длина текста, и 26 указателей на потомков). Совет: дерево должно быть компактным, то есть не отводить по вершине на символ, а только на разветвления, в этом случае дерево требует O(m) вершин, где m - длина текста. Проходит наивный алгоритм построения за O(N^2).
Re: Как сэкономить?
Послано Anton [SUrSU] 5 апр 2009 15:24
How to DP in this problem?