闫氏DP法
闫氏dp法与传统dp的区别是————从集合角度考虑dp问题
dp问题
一、状态表示(f[i][j])
(1)集合
明确f[i][j]表示的是什么集合
如:数字三角形模型中f[i][j]表示的是从(1,1)到(i,j)所有路径的最(大/小)值
(2)属性
明确f[i][j]需要求的是什么东西,基本分为3种:Max,Min,数量
二、状态计算
实质上就是集合的划分,通过最后一个不同的点这一突破口进行划分。要求是不重复,不漏掉。
如:数字三角形模型中f[i][j]只能由该点左边或者上面才能更新到自己,于是就把集合划分为这两个的更新条件f[i - 1][j] + a[i][j], f[i][j - 1] + a[i][j]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步