![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线性DP
线性DP的例题
超级码力奥
这个作者很懒,什么都没留下…
展开
-
DP-数字三角形模型-方格取数 高级的状态表示
两个同时走,用走过的距离表示状态。 以上图片来自于:https://www.acwing.com/solution/content/51234/ /* 其实说了那么多,就是假设两条路线同时从起点开始走,他们的步数和是永远相等的 等于k,只不过唯一不同的就是他们额横纵坐标,在进行状态表示时,完全可以用一个四维的 状态来进行表示,但是既然他们的横纵坐标之和等于k了,那还不如用一个三维的,k,i1 i2, 这杨也可以表示这个状态, 用k可以表示每一个阶段,试了一下,发现可以进.原创 2022-03-03 18:40:16 · 157 阅读 · 0 评论 -
Dp-数字三角形模型,证明传纸条和方格取数的等价性
方格取数中, 在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。 在传纸条中, 班里每个同学都可以帮他们传递,但只会帮他们一次,也就是说如果此人在小渊递给小轩纸条的时候帮忙,那么在小轩递给小渊的时候就不会再帮忙,反之亦然。 方格取数中,经过的点可以再次经过,只不过没有数可以取了,只能取0了。在传纸条中,传过一次的人第二次就不会帮忙了,传到这里就卡住了。这俩看起来还是存在不同的。现在证明在取到最优解的时候,来回的两条路线不会有交叉,方格取数的最优解中也不会有交叉。所以这道题也可以用方格取数来做原创 2022-03-03 19:12:31 · 138 阅读 · 0 评论 -
DP-数字三角形模型 1018. 最低通行费 求最大变成了求最小
原题链接;https://www.acwing.com/problem/content/1020/2N-1限制了我们每次只能向下走或者向右走。 需要特殊处理一下边界,数组从0开始存的,因此,我们需要限制第一行和第一列只能从一边走过来。 y总的代码比较懒惰,需要特判。它没有先全部初始化成正无穷。 #include<iostream> #include<algorithm> using namespace std; const int N=110; int w[N][N]; int原创 2022-03-03 11:06:32 · 64 阅读 · 0 评论 -
DP-数字三角形模型 1015. 摘花生
原题链接:https://www.acwing.com/problem/content/1017/ 图源:https://www.acwing.com/solution/content/49332/ #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N=110; int w[N][N]; int f[N][N]; int main()原创 2022-03-03 10:38:55 · 167 阅读 · 0 评论