邹语彤 发表于 2025-6-5 09:20:15

DP学习总结

动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。    -----OI Wiki
例.1-最大子段和

分析

DP四步
⑴定义状态

定义\(dp_i\)表示以\(i\)结尾的最大子段和
⑵分析答案

答案即\({\max}^{i\in}_{dp_i}\)
⑶分析方程

对于每个\(i\):

[*]可以与\(\)的最大子段和拼接,组成新的子段和\((dp_{i-1}+a_i)\)
[*]可以自己单独成一个子段和\(a_i\)
求\(\max\)
⑷边界条件

即\(dp_1\)为\(a_1\)
代码实现

递归写法

定义\(f(i)\)为以\(i\)结尾的最大子段和
则递归分析即可
int f(int x){
        if(x==1){//边界条件
                return a;
        }
        return max(f(x-1)+a,a);//求最大值
、}这样时间很慢,原因是存在许多已经算过的节点被重复计算
所以用一个\(val\)记录计算过的节点信息
for(int i=1;i

袁可佳 发表于 2025-10-9 02:27:02

谢谢分享,试用一下

接快背 发表于 2025-11-3 22:22:44

不错,里面软件多更新就更好了

刘凤 发表于 2025-12-15 18:13:59

yyds。多谢分享

列蜜瘘 发表于 2026-1-1 19:42:46

不错,里面软件多更新就更好了

抑卞枯 发表于 2026-1-3 17:19:28

感谢分享,学习下。

盗衍 发表于 2026-1-7 23:11:34

感谢分享

注思 发表于 2026-1-16 08:45:44

感谢分享,学习下。

笃扇 发表于 2026-1-18 19:03:28

热心回复!

陈兰芳 发表于 2026-1-19 00:17:54

鼓励转贴优秀软件安全工具和文档!

闵雇 发表于 2026-1-19 10:40:33

感谢分享

岑韬哎 发表于 2026-1-20 14:50:38

yyds。多谢分享

谲脾 发表于 2026-1-24 08:23:42

感谢,下载保存了

班闵雨 发表于 2026-1-25 11:20:18

鼓励转贴优秀软件安全工具和文档!

巨耗 发表于 2026-1-26 12:29:42

感谢分享,下载保存了,貌似很强大

匡菲 发表于 2026-1-26 15:34:20

感谢发布原创作品,程序园因你更精彩

姚望舒 发表于 2026-1-29 10:32:23

谢谢楼主提供!

晾棋砷 发表于 2026-1-30 06:16:38

喜欢鼓捣这些软件,现在用得少,谢谢分享!

巴沛若 发表于 2026-2-2 06:37:25

感谢,下载保存了

镝赋洧 发表于 2026-2-4 06:37:17

感谢分享
页: [1] 2
查看完整版本: DP学习总结