【发布时间】:2014-12-15 01:52:07
【问题描述】:
“学期快结束了,你有 n 个期末项目要完成。当然,你的目标是最大限度地提高这些项目的总成绩!为简单起见,假设你总共有 H 小时(a正整数)累积地处理项目,并且您将在每个项目上花费整数小时数。
为了弄清楚如何最好地分配您的时间,您提出了一组非递减估算 函数 {e1, e2, . . . , en},每个项目一个:如果您在项目 i 上花费 h 小时(其中 0
给出一个采用估计函数 {e1, . . . , en} 作为输入和 生成非负数小时 {h1, . . . , hn} 使得 (h1 +h2 +···+hn) = H 并且你的总成绩 (e1(h1) + e2(h2) +··· + en(hn)) 是最高的。要获得满分,请证明您的重复是合理的,并简要分析您的算法的运行时间。”
【问题讨论】:
-
您的想法不会奏效,因为通常您无法为每个项目选择最大值,因为时间不够。你必须做出妥协
-
我想这应该理解为
e1(0)=...=en(0)=0?
标签: algorithm dynamic recursion dynamic-programming