动态规划

✍ dations ◷ 2025-12-03 22:01:55 #动态规划
动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构(英语:Optimal substructure)性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划保存递归时的结果,因而不会在解决同样的问题时花费时间。动态规划只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。背包问题作为NP完全问题,暂时不存在多项式时间算法。动态规划属于背包问题求解最优解的可行方法之一。此外,求解背包问题最优解还有搜索法等,近似解还有贪心法等,分数背包问题有最优贪心解等。 背包问题具有最优子结构和重叠子问题。动态规划一般用于求解背包问题中的整数背包问题(即每种物品所选的个数必须是整数)。 解整数背包问题: 设有 n {displaystyle n} 件物品,每件价值记为 P i {displaystyle P_{i}} ,每件体积记为 V i {displaystyle V_{i}} ,用一个最大容积为 V max {displaystyle V_{text{max}}} 的背包,求装入物品的最大价值。 用一个数组 f [ i , v ] {displaystyle f} 表示取 i {displaystyle i} 件商品填充一个容积为v的背包的最大价值,显然问题的解就是 f [ n , V max ] {displaystyle f} 。f [ i , v ] = { f [ i − 1 , v ] , v < V i max { f [ i − 1 , v ] , f [ i − 1 , v − V i ] + P i } , v ≥ V i 0 , i v = 0 {displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}对于特例01背包问题(即每件物品最多放1件,否则不放入)的问题,状态转移方程:f [ i , v ] = { f [ i − 1 , v ] , v < V i max { f [ i − 1 , v ] , f [ i − 1 , v − V i ] + P i } , v ≥ V i 0 , i v = 0 {displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}参考Pascal代码参考C++代码(不含include和数组声明)

相关

  • DIHP邻苯二甲酸二异庚酯(英语:Diisoheptyl phthalate)是一种邻苯二甲酸酯,由一个邻苯二甲酸和两个异庚醇酯化形成,化学式为 C22H34O4,常作为塑化剂使用。
  • 热带沙漠热带干旱半干旱气候,其中热带干旱气候又称热带沙漠气候。分布于纬度30度附近的大陆西岸和中部,具体地区有:撒哈拉、非洲西南部、阿拉伯半岛、澳大利亚中部、美国西南部、墨西哥
  • 弗洛伊德西格蒙德·弗洛伊德(德语:Sigmund Freud,出生名:Sigismund Schlomo Freud,1856年5月6日-1939年9月23日),奥地利心理学家、精神分析学家、哲学家,犹太人。生于奥地利弗莱堡(今属捷克),后
  • 血液灌流血液灌流(英语:hemoperfusion),是一个用于从病人血液里分离有毒物质的医疗过程。治疗是用抽水设备将病人大量的血液抽出体外,然后通过固态过滤剂过滤。常用的吸附物质是活性炭和
  • 异丙托溴铵异丙托溴铵(Ipratropium bromide),商品名“Atrovent”,属于一种支气管扩张药。本品通常用于治疗慢性阻塞性肺病(COPD)以及哮喘,通常以吸入剂(英语:metered-dose inhaler)或雾化剂(英语:n
  • 舌咽神经舌咽神经(Glossopharyngeal nerve)为大脑第9对神经,属于混合神经。编号IX。主要控制茎突咽肌,腮腺体,部分味蕾和收集来自耳部后部的感觉等。解剖学(Anatomy)-脑神经(cranial nerv
  • 实习生实习,是学生到企业、政府部门或其他组织等进行实践的一个过程,目的是为以后的工作做好准备。实习生通常是在校大学生,但是也有一些高中生或者研究生。实习为想要在各自领域获得
  • 交感神经系统交感神经(拉丁语: Sympathicus)和副交感神经共同组成自主神经系统。大部分的器官受到两者的共同支配,大部分情况下,两者相互拮抗(例外:唾液分泌),因而可以实现对该器官的精细调节,实
  • 晒黑晒黑是让皮肤暴露在阳光的紫外线下让皮肤的黑色素产生而变黑或使用仿晒剂产品经由梅纳反应使皮肤变古铜色(英语:Tan (color))的一种健美方法,又称为美黑,而过量暴晒会造成日照灼
  • CdS硫化镉是硫和镉的无机化合物,化学式为CdS。它是一种N型光电导半导体材料。属Ⅱ-Ⅵ族化合物半导体。分子量144.476,属六方晶格结构,晶格常数5.86×10-10m,熔点1750℃,禁带宽度2.