对鲁珀特来说,包装一袋礼物比圣诞老人容易吗?


12

或者:我们是否需要鲁珀特才能获得礼物?

除了路由问题之外,圣诞老人还面临以下问题(很多次都过去了):

给定一个容量为的袋子和一组礼物{ p 1p n },每个礼物的大小为s i,他希望使孩子{ c 1c k }开心。他从所有的愿望清单知道孩子ç Ĵ值目前p 正好v ĴQ 0得多。C{p1,,pn}si{c1,,ck}cjpivi,jQ0

这(两两不相交)套礼物挑选为每一个孩子,使一切都适合,即Ij[1..n]

j[1..k]iIjsiC

随之而来的是尽可能多的幸福²,即

max!j[1..k]iIjvi,j

这显然不比Bin Packing或背包背包容易,因此可怜的圣诞老人可能不得不花很长时间包装袋子³。

PD 1212eins@pixabay.com

现在,我们知道,他的助手鲁珀特(Rupert)并没有无条件给予。他了解,根据一年中的行为,孩子可能获得的最大值;也就是说,他增加了一个额外的约束Vjcj

j[1..k]. iIjvi,jVj

这样会使包装袋的问题更容易吗?如果不是总是如此,那么在什么情况下?


  1. 如果Ç himney直径是限制因素,类似的框架可以成立。
  2. 让我们不要以公平和其他荒谬的想法为己任。
  3. 因此,每年只有一个圣诞节。QED

每个想要给其他用户的人,只要有可能,就添加一笔赏金!正确且可以理解的答案可以使大多数人联想到假期的精神!
拉斐尔

关于圣诞老人路由饼干平铺的较早圣诞节问题也至少部分开放!
拉斐尔

呸! ...骗子!
瑞克·德克

2
几个琐碎的评论:这个问题并不总是那么容易(只需在选择),但是至少有一种情况(将所有设置除外,它设置为)。VjiIjvi,jVj=0V1minivi,1
马里奥

Answers:


1

在快速思考了这个问题之后,我相信鲁珀特对每个孩子的{行为,最大价值存在}的额外了解不会总是使圣诞老人的工作变得容易。圣诞老人仍然需要执行0/1背包装满袋子和匈牙利算法,以最大化每个资本家孩子在圣诞节早晨获得的幸福感。一个简单的例子可以使圣诞老人的工作变得很简单,那就是如果圣诞老人考虑的每个孩子都没有发表论文,而是全年玩电子游戏时获得了Rupert的零分(每个孩子都会得到煤炭)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.