2 / 2 / 0
Регистрация: 25.01.2016
Сообщений: 31
|
|||||
1 | |||||
Вычислить максимальную сумму доходов от создания новой сети тоннелей метро10.04.2016, 11:02. Показов 459. Ответов 6
Метки нет (Все метки)
Олимпиадное программирование.
Дается метро с N остановками и M туннелями. Две остановки называются соседними если между ними существует тоннель. Каждой остановке i присваивается доход p[i]. Нужно вычислить максимальную сумму доходов которые можно получить путем создания новой сети тоннелей, так чтобы все туннели были новыми. Вход: Файл metro.in содержит на строке числа N и M. На второй строке N целых чисел, каждое число содержит доход p[i] который получает остановка i. Следующие M строк содержат по два целых числа которые показывают что между этими остановками существует тоннель. Выход: Файл metro.out содержит одно число, максимальный доход который можно получить если построить новую сеть тоннелей. Пример: Объяснение: У нас N = 8 остановок и M = 10 туннелей в метро. Сеть остановок 2-4-8 обеспечивает максимальный доход 3+5+1=9 Можно заметить что эта сеть подходит по правилам, т.к. не существует ни одного тоннеля который объединял бы остановки 2-4, 2-8 или 4-8. Также если знаете сайты с выполненными олимпиадами по информатике примерно такое же сложности, буду рад их посмотреть.
0
|
10.04.2016, 11:02 | |
Ответы с готовыми решениями:
6
Вычислить максимальную диагональную сумму Определить минимальную и максимальную цифры числа и вычислить их сумму Вычислить максимальную сумму кубов чётных натуральных чисел Вычислить максимальную сумму обратных значений четных натуральных чисел |
44 / 44 / 66
Регистрация: 22.07.2015
Сообщений: 191
|
|
10.04.2016, 13:29 | 2 |
Немного не понял условие. Почему, например, нельзя взять маршрут 2-4-6-8?
По теории графов могу посоветовать informatics.mccme.ru/course/view.php?id=6
0
|
2 / 2 / 0
Регистрация: 25.01.2016
Сообщений: 31
|
|
10.04.2016, 13:58 [ТС] | 3 |
потому что в маршруте 2-4-6-8 есть построенный тоннель 2-6
0
|
44 / 44 / 66
Регистрация: 22.07.2015
Сообщений: 191
|
|
10.04.2016, 14:05 | 4 |
Для 2-4-6-8 нужно построить тоннели 2-4, 4-6, 6-8 и 2-8. Не увидел тут тоннеля 2-6. Или нужно, чтобы тоннели были между всеми остановками сети?
0
|
2 / 2 / 0
Регистрация: 25.01.2016
Сообщений: 31
|
|
10.04.2016, 18:56 [ТС] | 5 |
скажу честно, понятие не имею, но видно так оно и есть
Добавлено через 2 часа 21 минуту Нужно создать такую сеть чтобы: 1. ЛЮБЫЕ две взятые остановки не были соседними 2. Сумма доходов должна быть максимальной
0
|
44 / 44 / 66
Регистрация: 22.07.2015
Сообщений: 191
|
|
10.04.2016, 20:35 | 6 |
Попробуй создать матрицу смежности графа, в котором любые две вершины соединены (a[1..MaxN, 1..MaxN]). Удали ребра, которые совпадают с входными данными (a[i, j] = -1). Дальше перебирай вершины, чтобы для каждых двух вершин i и j a[i, j] <> -1. Найди такие вершины, для которых стоимость максимальна. Перебирать нужно не "в лоб", а подобрать нужный алгоритм, например с помощью ДП, либо жадным алгоритмом, в зависимости от ограничений на входные данные.
0
|
2 / 2 / 0
Регистрация: 25.01.2016
Сообщений: 31
|
|||||||||||
11.04.2016, 07:22 [ТС] | 7 | ||||||||||
Не совсем понял. Можешь написать код.
Заранее спасибо! Добавлено через 1 час 20 минут вот что получилось, выдает ошибку - переполнение стека, также не разрешает создать матрицу [1..100000, 1..100000]
x- номер остановки которую добавляем в сеть к - номер остановок в сети(нельзя создать сеть из одной остановки) m - доход от предыдущих остановок h - список разрешаемых остановок (которые можно добавить в сеть, если h[i]=-1 значит остановку i нельзя добавить) Добавлено через 9 часов 3 минуты
0
|
11.04.2016, 07:22 | |
11.04.2016, 07:22 | |
Помогаю со студенческими работами здесь
7
В каждом массиве вычислить сумму четных элементов и вывести на экран максимальную из них Даны три одномерных массива. В каждом массиве вычислить сумму четных элементов и вывести на экран максимальную из них Вывести минимальную сумму и максимальную сумму в один запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |