2014-11-16 3 views
-1

Предоставлено N книг и книжный стенд. Книжный стенд имеет только 2 пустых полки. Теперь у нас есть два ограничения, чтобы держать книги на полках.Максимизируйте разницу в сумме

  1. На верхней полке могут быть размещены только книги M (целочисленные), а остальные книги должны быть размещены на нижней полке.
  2. Разница между суммой веса книг на верхней полке и суммой веса книг на нижней полке должна быть наиболее предпочтительной среди всех возможных вариантов.

Теперь нам будут даны N и веса всех книг, а также М., мы должны сказать эту максимальную разницу.

Пример: Пусть N = 5 и М = 2 и книги веса будет [4,1,3,2,5], то здесь ответ 9.

Как подойти к этому для заданных N весов и М.

Мой подход: я сначала подумал, что это может быть сделано с жадным подхода сортировки весов, а затем положить верхние книги M в первых shelf.I хочу спросить за правильность доказательства, если это правильно? Else Я хочу правильное решение этой проблемы?

Ограничения: 1 < = п < = 10000, и можно считать 1 < = т < = п/2. Также 1 < = р [я] < = 1000000

Код:

+0

@almasshaikh Я упомянул о мыслях. Это я тоже внедрил. Должен ли я опубликовать код? Потому что я просто хочу обсудить проблему, а не код –

+1

Так что вставьте соответствующую часть своей реализации. Его недостаточно, чтобы просто вставлять мысли в этот форум, чтобы решить проблемы с программным кодом и не работать над процессом. – SMA

+0

@almasshaikh Я отредактировал сообщение с кодом .Fine? –

ответ

0

Если разница между весом 2 полки должна быть максимизирована, то я думаю, что жадный подход к вам tline будет работать. Если самая большая книга M находится на верхней полке, то на другой полке нет книги, которая увеличит разницу, если две книги будут заменены.

Если с другой стороны вы хотите свести к минимуму весовую разницу, тогда проблема NP-hard, см. Запись here.

Смежные вопросы