线性dp
文章平均质量分 74
线性dp习题
ckh001
这个作者很懒,什么都没留下…
展开
-
【线性dp】子串
我们发现,每次更新sum时,每次 f, sum 都与上一轮有关(也就是 j-1)时我们所学的数组空间优化,我们采取相似做法,循环时倒着循环。但这里要定义两个数组:sum 和 f。如上图,我们总结出了这个公式。但是,根据数据大小,我们发现。原创 2024-02-08 10:20:51 · 525 阅读 · 0 评论 -
【代码模板】完全背包
v[i] :第i个物品的体积w[i]:第i个物品的价值f[i][j] :前i个物品放入体积为j的物品后,最大价值。原创 2023-12-23 22:28:06 · 958 阅读 · 1 评论 -
【代码模板】01背包
v[i] :第i个物品的体积w[i]:第i个物品的价值f[i][j] :前i个物品放入体积为j的物品后,最大价值。原创 2023-12-23 20:09:03 · 438 阅读 · 2 评论 -
【线性dp】合唱队形
翻译成(人话):有一个数列,找出一个位置,使他左边为上升子序列,右边为下降子序列。为了方便写代码,我们可以都写成最长上升子序列:一个从左向右,一个从右向左。我们可以枚举每一个数,计算出他左边最长上升子序列,右边最长下降子序列。最后,枚举每一个数,将他最长上升子序列+最长子序列长度,找出最大值。原创 2024-02-05 15:37:48 · 408 阅读 · 1 评论 -
【模板代码】最长上升子序列模板
a[] 输入序列f[i] 以i为结尾的最长上升子序列长度n 输入序列长度len (输出)最长子序列的长度初始化 f[ ] 为最大值 0x3fl 当前最长上升子序列位置下标最左端 初始值为0r 当前最长上升子序列位置下标最右端mid 当前最长上升子序列位置下标中间。原创 2023-12-10 15:51:21 · 383 阅读 · 1 评论