![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 28.04.2010
Сообщений: 6
|
![]()
Прошу вас помочь объяснить мне, как работает эта формула ссылка. Желательно пошагово на моём примере ссылка. Прошу покажите мне как работает эта формула с тем, что у меня выделено жёлтым. Если кто-то знает алгоритм этого на delphi, то было бы тоже понятно, а то я не знаю c++. Спасибо.
Всё обсуждение там. Последний раз редактировалось fkorto; 28.04.2010 в 17:40. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 28.04.2010
Сообщений: 6
|
![]()
В моём примере (ссылка в первом сообщении) я всё делал без какого-либо математического алгоритма, заполнял решая всё в голове перебором.
Имеются предметы номера i с весом w и стоимостью c: i w c 1 1 10 2 2 5 3 3 3 4 4 20 5 5 7 Заполнить рюкзак, который может выдержать вес w=10 предметами так, чтобы их стоимость была максимально возможной. Каждый предмет имеется только в единственном экземпляре. Решать перебором, как я это делал в голове нельзя, так как в настоящем примере будет очень много предметов, что будет занимать много времени. В моём примере я заполнял сначала рюкзак с весом w=1 предметом который который должен был при весе w=1 иметь максимальную стоимость (это ячейка B11). Затем я заполнял рюкзак с весом w=2 (ячейка B12), и так далее до веса рюкзака w=10 (до B20). Далее я уже выбирал из двух предметов, заполняя столбец C10:C20. И так далее по столбцам. Я не могу правильно понять формулу. Я понимаю так, что следующий максимальный элемент (жёлтый E15 в таблице) равен предыдущему (фиолетовый E14) + элемент с координатами строки "вес рюкзака, для которого мы считаем (w=5) - вес рюкзака на предыдущем шаге (w=4) = 1 (строка для веса рюкзака w=1)" и столбца "столбец элемента, для которого мы считаем (i=4) - 1 = 3 (столбец для трёх элементов i=3)" фиолетовый D11. Мне кажется, что я не так понял формулу, поэтому и прошу описать мне последовательность выполнения кода. Или же, кто понимает как эта формула работает, описать последовательность действий. |
![]() |
![]() |
![]() |
#3 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Молодой человек, я вам не советую забивать разные ветки форума одинаковым вопросом. Вам уже отвечают в другой теме.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка оборудования(вариант "Задачи о ранце") | matteo | Общие вопросы C/C++ | 1 | 11.03.2011 11:49 |
Задача о ранце | werder_ua | Помощь студентам | 8 | 23.11.2009 13:50 |