![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
程序设计算法——动态规划
文章平均质量分 79
动态规划
Vic.GoodLuck
窗外有风景,笔下有前途!
展开
-
数字三角形模型
由于路径长度相同,当两条路径横坐标相同时,其纵坐标一定也相同(横纵坐标之和相等),所以此时两条路径走到了同一方格中。和上一题基本相同,不同的是该题求的是。可以证明:最优解不经过重复的格子。题目要求从起点出发两次,我们可以。和上一题的区别是,题目要求。原创 2023-01-01 22:07:42 · 21 阅读 · 0 评论 -
最长上升子序列模型
以某个位置为右端点的 最长上升子序列以某个位置为左端点的 最长下降子序列 (倒序求最长上升子序列)两者的最大值。原创 2023-01-02 17:28:32 · 39 阅读 · 0 评论 -
线性DP
1.最长上升子序列(LIS)朴素写法 n^2for(int i=1;i<=n;i++){ f[i]=1; for(int j=1;j<i;j++) if(a[i]>a[j]) f[i]=max(f[i],f[j]+1);}int m=0;for(int i=1;i<=n;i++) m=max(m,f[i]);二分优化 nlognint f[N];//长度为i的递增子序列的最后一位 int LIS(){ int len=0; f[0..原创 2022-02-13 22:01:45 · 129 阅读 · 0 评论 -
背包DP
f[i][j] 从前i个物品选,体积不大于j的最大价值1. 01背包int f[N][M];int dp(){ for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) { f[i][j]=f[i-1][j]; if(j>=v[i]) f[i][j]=max(f[i][j],f[i-1][j-v[i]]+w[i]); } return f[n][m];} int f[M];int dp(){ fo原创 2022-02-13 17:42:44 · 265 阅读 · 0 评论 -
状态机模型
可以由和转移而来。原创 2023-01-03 22:21:12 · 20 阅读 · 0 评论 -
状压DP
蒙德里安的梦想 最短Hamilton路径 最短Hamilton路径原创 2022-12-31 23:28:34 · 20 阅读 · 0 评论 -
区间DP
【代码】区间DP。原创 2022-12-31 21:13:33 · 22 阅读 · 0 评论 -
树形DP
【代码】树形DP。原创 2022-12-31 23:33:05 · 17 阅读 · 0 评论 -
计数DP
【代码】计数DP。原创 2022-12-31 21:53:02 · 25 阅读 · 0 评论 -
数位DP
【代码】数位DP。原创 2022-12-31 23:04:33 · 18 阅读 · 0 评论 -
单调队列优化DP
【代码】单调队列优化DP。原创 2023-01-06 15:20:43 · 38 阅读 · 0 评论 -
斜率优化DP
【代码】斜率优化DP。原创 2023-01-06 20:14:21 · 26 阅读 · 0 评论