0 / 0 / 0
Регистрация: 25.12.2018
Сообщений: 32
|
||||||
1 | ||||||
Memory limit exceeded на задаче по теории графов14.09.2019, 21:29. Показов 5641. Ответов 7
Пытался решить задачу №414 "Расследование" на acmp. Получил "Memory limit exceeded", хотя, как по мне, получил решение, которое должно работать.
Текст задачи: В городском управлении милиции одного прибрежного города ведется расследование крупного дела, в котором могут быть замешаны сотрудники милиции. Было принято решение о тайной установке оборудования для просмотра информации, поступающей через Интернет. Под подозрение попадают два отдела, но добиться выделения денег на покупку двух комплектов оборудования не удалось. К счастью, внутренняя сеть управления имеет древовидную структуру, то есть каждый отдел имеет выход в Интернет через какой-либо другой отдел. Исключение составляет отдел по борьбе с компьютерными преступлениями, который имеет непосредственный доступ в Интернет по модемной линии. Можно было бы установить оборудование для слежения прямо в этом отделе, но для предотвращения злоупотреблений лучше найти такое расположение, чтобы нарушалась секретность как можно меньшего количества лишних отделов. Как наиболее опытному в подобных вопросах сотруднику, решение этой задачи поручили вам. Подчиненные уже пронумеровали все отделы натуральными числами, начиная с 1, первый номер присвоен отделу по борьбе с компьютерными преступлениями. Входные данные Первая строка входного файла INPUT.TXT содержит натуральное число N (N ≤ 30000) – количество отделов. Во второй строке записаны номера двух отделов, за которыми необходимо установить слежение. На третьей строке находятся n-1 натуральных чисел, i-е из них не больше i и задает номер отдела, к которому подсоединен отдел i + 1. Выходные данные В выходной файл OUTPUT.TXT выведите одно число – номер отдела, в котором следует установить следящее оборудование. Примеры INPUT.TXT OUTPUT.TXT 1 ответ - 3 3 4 1 1 3 8 3 6 1 1 2 4 5 1 1 ответ - 1 Моё решение:
0
|
14.09.2019, 21:29 | |
Ответы с готовыми решениями:
7
Time limit exceeded Time limit exceeded Time limit exceeded ERROR: stack depth limit exceeded |
0 / 0 / 0
Регистрация: 19.08.2018
Сообщений: 1
|
|
14.10.2019, 09:26 | 2 |
Посмотрите ограничения задачи!
Ваш вектор для графа может содержать 30000^2 элементов
0
|
0 / 0 / 0
Регистрация: 25.12.2018
Сообщений: 32
|
|
14.10.2019, 14:28 [ТС] | 3 |
Apkawa, как мне исправить эту проблему?
0
|
3 / 2 / 1
Регистрация: 29.10.2020
Сообщений: 28
|
|||||||||||
23.07.2021, 22:36 | 4 | ||||||||||
Сообщение было отмечено TheSuperSerg как решение
Решение
Решение довольно понятное. Мы храним наше дерево как ориентированный граф, и за одно, чтобы не искать от куда идет наша вершина, в отдельном массиве храним ее предка. Запускаем дфс(можно и бфс) от минимального подозреваемого, если покрасили вторую вершину то минимальная это ответ, если нет то поднимаемся вверх и так в цикле. Асимптотика
О(n)
1
|
3 / 2 / 1
Регистрация: 29.10.2020
Сообщений: 28
|
|
24.07.2021, 11:53 | 6 |
Тоже задаюсь этим вопросом, я бы не стал писать, если человек, задающий вопрос, не прикрепил код на с++
0
|
3 / 2 / 1
Регистрация: 29.10.2020
Сообщений: 28
|
|
24.07.2021, 18:56 | 8 |
Опубликовать решение. Решений на эту задачу в публичном доступе небыло. Теперь некоторые люди могут просто скопипастить решение и заслать его.
0
|
24.07.2021, 18:56 | |
24.07.2021, 18:56 | |
Помогаю со студенческими работами здесь
8
Timus Time limit exceeded (Bingo!) Acm.timus.ru Time limit exceeded Матрица инцидентности = Time-limit exceeded Количество делителей - Time-limit exceeded >1.000 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |