阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】 某餐厅供应各种标准的营养套餐。假设
阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
【说明】
某餐厅供应各种标准的营养套餐。假设菜单上共有n项食物m1,m2,…,mn,每项食物mi的营养价值为vi,价格为pi其中i=1,2,…,n,套餐中每项食物至多出现一次。客人常需要一个算法来求解总价格不超过M的营养价值最大的套餐。
1. 【问题1】
下面是用动态规划策略求解该问题的伪代码,请填充其中的空缺(1)、(2)和(3)处。
伪代码中的主要变量说明如下。
n:总的食物项数;
v:营养价值数组,下标从1到n,对应第1到第n项食物的营养价值;
p:价格数组,下标从1到n,对应第1到第n项食物的价格;
M:总价格标准,即套餐的价格不超过M;
x:解向量(数组),下标从1到n,其元素值为0或1,其中元素值为0表示对应的食物不出现在套餐中,元素值为1表示对应的食物出现在套餐中;
nv:n+1行M+1列的二维数组,其中行和列的下标均从0开始,nv[i][j]表示由前i项食物组合且价格不超过j的套餐的最大营养价值。问题最终要求的套餐的最大营养价值为nv[n][M]。
伪代码如下:
MaxNutrientValue(n,v,p,M,x)
1 for i=0 to n
2 nv[i][0] = 0
3 for j=1 to M
4 nv[0][j]=0
5 for i=1 to n
6 for j=1 to M
7 if j<p[i] //若食物mi不能加入到套餐中
8 nv[i][j] = nv[i-1][j]
9 else if (1)
10 nv[i][j]= nv[i-1][j]
11 else
12 nv[i][j]= nv[i-1][j-p[i]] + v[i]
13 j = M
14 for i=n downto 1
15 if (2)
16 x[i] = 0
17 else
18 x[i] = 1
19 (3)
20 return x and nv[n][M]
(1)nv[i-1][j]≥nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]
(1)nv[i-1][j]nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]
某银行营业厅开始营业后,顾客陆续前来办理业务.若只开一个窗口,15分钟后大厅中就站满顾客;若开两个 数学 2020-06-15 …
某银行营业厅开始营业后,顾客陆续前来办理业务.若只开一个窗口,15分钟后大厅中就站满顾客;若开两个 其他 2020-06-15 …
王大伯利用一面院墙用篱笆围一个养鸡栏,鸡栏长10米,宽8米.王大伯怎样围用的篱笆最少?最少是多少 数学 2020-06-18 …
小明家用17米的篱笆一面靠墙围成一个梯形养鸡栏,养鸡栏的面积是()平方米.(高5米) 数学 2020-07-11 …
用18米长的一段篱笆靠一面墙围成一个面积最大的养鸡栏,这个养鸡栏的面积()平方米.A.等于36B. 其他 2020-07-11 …
板报上“真真假假”栏目,你认为可信的一项是A.中东全是阿拉伯人,他们信伊斯兰教,爱穿白色袍子B.美国 其他 2020-11-03 …
(2012•长沙模拟)小明在教室出中国民族大家庭的黑报时,出了一个“真假栏目”,请根据四个“真假”少 语文 2020-12-21 …
张红所在班级的黑板上新增了一个“是真是假”栏目,下面是本期“是真是假”的内容,判断其中是真的是()A 语文 2021-01-08 …
客厅养花风水客厅放什么花风水好 生活养生 2021-04-24 …
客厅养花风水知识,看看客厅放什么花风水才好? 生活养生 2021-04-24 …