|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
|
Задача про людей и мешки17.04.2019, 16:31. Показов 3836. Ответов 14
Господа, подскажите как решить вот такую проблему:
есть n пакетов, нужно найти количество человек, которое требуется, чтобы перенести все пакеты. При этом каждый может нести не более 2 пакетов. Для всех человек есть некая константа m - предельная масса, которую человек может перенести. Первая строка содержит число m (1 ⩽ m ⩽ 1000000) — максимальную массу, которую может поднять человек. Вторая строка входных данных содержит количество пакетов n (1 ⩽ n ⩽ 100). Следующие n строк содержат по одному числу ai (1 ⩽ ai ⩽ m) — массы пакетов. Программа должна вывести одно число — минимальное количество человек, необходимое для переноски всех пакетов. Примеры тестов: Вход: 10 4 4 4 8 6 Выход: 3 Вход: 10 4 5 3 4 5 Выход: 2
0
|
|
| 17.04.2019, 16:31 | |
|
Ответы с готовыми решениями:
14
Задача про выбывающих из круга людей. Задача про людей в управляющем совете Задача про 100 людей и анкета в 150 пунктов |
|
|
|
| 18.04.2019, 11:14 | |
|
Задача на динамическое программирование.
На вход рекурсивной функции нужно будет подать множество пакетов и людей, причём человек будет задаваться двумя параметрами - кол-вом пакетов, которые он ещё может взять - 1 или 2, ну и сколько массы ещё унесёт.
0
|
|
|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
|
| 18.04.2019, 11:18 [ТС] | |
|
Для того, чтобы этого человека задать, нужно создать пары? И как изменить рекурсивную функцию нужно же как то избавляться от пакетов, которые уже были подобраны?Не могли бы вы, если нетрудно привести шаблон кода, я раньше на практике не применял динамическое программирование.
0
|
|
|
|
||||||
| 18.04.2019, 12:12 | ||||||
0
|
||||||
|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
|
| 18.04.2019, 12:19 [ТС] | |
|
Как здесь выполняется условие про 2 пакета максимум, ведь s может добавляться больше 1 раза?
0
|
|
|
|
|
| 18.04.2019, 12:20 | |
|
Stranger99, я это вам оставил.
0
|
|
|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
|
| 18.04.2019, 12:22 [ТС] | |
|
Да, но программа, прошла все тесты кроме одного секретного
0
|
|
|
|
||||
| 18.04.2019, 12:23 | ||||
|
Увы, это займёт время, которого мне жаль. При этом мне понадобится почитать теорию, освежить в памяти, как в ДП для подобных сложных случаев делается кеширование. Так-то я читал, но уже забыл. (Кормен и др, "Алгоритмы, построение и анализ".) Я дал вам наводку, что читать. ДП - это рекурсия плюс кеширование (без него работать будет, но невероятно долго). Никакого сакрального знания. Сделайте сначала просто рекурсивное решение, без кеширования, откатайте на маленьких случаях. m0nte-cr1st0, ваше решение неправильное. Потому что тут ДП, а у вас его нет.
1
|
||||
|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
|
| 18.04.2019, 12:25 [ТС] | |
|
Попытаюсь
0
|
|
|
|
||||||||
| 18.04.2019, 12:35 | ||||||||
0
|
||||||||
|
-4 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 7
|
||||||
| 18.04.2019, 13:00 [ТС] | ||||||
|
Ничего не изменилось
Добавлено через 10 минут Кстати ДП нужно не обязательно, проблема уже решена.
0
|
||||||
|
|
||||||
| 18.04.2019, 13:04 | ||||||
|
Stranger99, мб проверку добавить надо.
0
|
||||||
|
|
||
| 18.04.2019, 13:28 | ||
|
Добавлено через 1 минуту Stranger99, ваше решение тоже неправильное, по той же причине. Если постараться, можно будет найти контрпример. Добавлено через 5 минут Stranger99, с первого взгляда, если не вникать, ваш код похож на жадный алгоритм. Немного похож на ДП, но всё-таки не то, он для задач попроще.
0
|
||
|
|
|
| 18.04.2019, 14:18 | |
|
dondublon, неужто эту задачу без ДП не решить?..
0
|
|
|
|
|
| 18.04.2019, 19:22 | |
|
Stranger99, m0nte-cr1st0, простите меня, люди.
Я думал-думал и понял, что задача действительно решается жадным алгоритмом. Действительно, на первом шаге мы нам достаточно выбрать такую пару, чтобы заполнить грузоподъёмность одного человека, как можно лучше. Любое другое решение не сделает его лучше. У человека всего два пакета, поэтому нам достаточно двух вложенных циклов. Вот если бы пакетов на одного человека было неограниченное число - тогда да.
0
|
|
| 18.04.2019, 19:22 | |
|
Помогаю со студенческими работами здесь
15
Как можно делать конвертация для ед.изм у меня кг шт метр и мешки есть и должно быть кг на шт,метр,мешки ? Про умных людей Ищу людей в проект (сайт про IT-технологии) Блок схема про людей, кошек и мух
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 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
|