![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 74
bug~bug~
这个作者很懒,什么都没留下…
展开
-
【单调队列优化的dp问题】
输入一个长度为 n 的整数序列,从中找出一段长度不超过 m 的连续子序列,使得子序列中所有数的和最大。集合:以 i 为右端点,长度不超过m的区间。第二行输入 n 个数,代表长度为 n 的整数序列。输出一个整数,代表该序列的最大子序和。第一行输入两个整数 n,m。子序列的长度至少是 1。同一行数之间用空格隔开。原创 2023-08-11 20:49:09 · 61 阅读 · 0 评论 -
【树形dp】
树的两点间距离的最大值。(1)任取一点a作为起点,找到距离该点最远的一点u;dfs、(2)找到距离u最远的一点v,那么uv之间的路径就是一条直径。dfs、(1)如图所示:a为任意起点,u是距离a最远的点,那么|ax|+|xu|>=|ax|+|xy|+|yc|,即|xu|>=|xy|+|yc|,|xu|+|xy|>=|yc|,则 |by|+|xy|+|xu|>=|by|+|yc|,即b到u的距离>=b到c的距离。所以u是某条直径的端点,找到距离u最远的点v,那么uv之间的路径一定是树的一条直径。原创 2023-08-11 18:17:46 · 43 阅读 · 0 评论 -
【区间dp】
规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。第二行包含 n 个整数,分别表示每堆石子的数量。第一行包含整数 n,表示共有 n 堆石子。第一行为合并得分总和最小值,第二行为合并得分总和最大值。原创 2023-08-14 15:11:17 · 35 阅读 · 0 评论 -
【状态压缩DP】
如果状态压缩的对象的点的状态有两种,通常使用01串来表示各个点的状态。(有三种可以使用三进制表示)原创 2023-08-10 18:11:17 · 40 阅读 · 0 评论 -
【状态机模型dp】
阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。对于第二组样例,阿福选择第1和4家店铺行窃,获得的现金数量为10+14=24。接下来的每组数据,第一行是一个整数 N ,表示一共有 N 家店铺。该行包含一个整数,表示阿福在不惊动警察的情况下可以得到的现金数量。第二行是 N 个被空格分开的正整数,表示每一家店铺中的现金数量。对于第一组样例,阿福选择第2家店铺行窃,获得的现金数量为8。原创 2023-08-09 21:04:58 · 35 阅读 · 0 评论 -
【背包dp】
01背包(每个物品:选、不选)状态表示:集合:所有只从前 i 个物品中选,且总体积不超过j 的所有方案的集合属性:Max / Min /数量状态计算:不选第 i 个物品:f[i][j]=f[i-1][j]选第 i 个物品:f[i][j]=f[i-1]体积最多是V:全部为0, j>=vi;体积恰好是V:当求价值的最小值:f[0]=0,f[i]=INF,j>=vi;当求价值的最大值:f[0]=0,f[i]=-INF,j>=vi;(数字组合)原创 2023-08-08 21:46:28 · 55 阅读 · 0 评论 -
【数字三角形模型DP】
权重都是大于等于0,所以走完一条路径,一定存在一条和第一条路径没有公共点的的方案比和第一条路径有公共点的方案更优,即最优解不会由两段相交的路径组成。状态表示:f[i1][j1][i2][j2]表示从(1,1)分别走到(i1,j1),(i2,j2)的最大值;设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。原创 2023-08-03 15:47:48 · 38 阅读 · 0 评论 -
【最长上升子序列模型dp】
小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。第二行包含N个不同的整数,每一个对应一幢建筑的高度h,按照建筑的排列顺序给出。注意,最长的上升子序列的和不一定是最大的,比如序列(100,1,2,3)的最大上升子序列和为100,而最长上升子序列为(1,2,3)。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。原创 2023-08-06 21:18:55 · 41 阅读 · 0 评论