一、四边形不等式 感觉四边形不等式用的时候是:利用第j-1层的dp[i][j-1]和dp[i+1][j-1]两个值的转移位置s[i][j-1],s[i+1][j-1]来约束 k ...
转载
2021-08-05 14:21:23
95阅读
斜率优化 \(DP\) 引入: 通过一道题来引入吧: [HNOI2008]玩具装箱 题意: 给你一些物品,每个物品有大小,你可以选择多个背包装这些东西,背包费用由背包中物品大小决定,问你这些物品放进背包中,需要背包制作的总费用最少值。 分析: 这题暴力的 \(dp\) 方程得出来比较简单,记为: \ ...
转载
2021-09-27 22:03:00
203阅读
2评论
dp优化瞎吹 众所周知,我们在dp的转移过程中,可以用一些方法,优化它的转移复杂度。 由于我这边的资料不多,并且例题要么很简单,要么很难,所以我学的脑子有点乱,东西也乱,抱歉啊 前言 对于dp的优化,我个人有些浅显的理解,不知恰当不恰当 我感觉它大概就是,我先写一个dp,再想办法把它变得更快。 怎样 ...
转载
2021-08-08 15:35:00
162阅读
2评论
hdu 2993MAX Average Problemhttp://acm.hdu.edu.cn/showproblem.php?pid=2993这题都整死我了,代码基本上和别人AC的都快一样了还是不对。郁闷死了快。。最后终于发现了错误点自判断斜率时y1*x2 <= y2*x1 如果用整型就会超数据类型肯定会错,而上边的用整型可以过,
转载
2012-08-28 11:34:00
138阅读
2评论
题意: 将含有N个元素的一个集合分成M个子集,使得每个子集的最大值与最小值平方差的和最小。 可以想到贪心将元素从小到大排序,很快可以得出dp[i][j]-前i个子集分j个元素的最小花费,dp方程 dp[i][j]=dp[i-1][k]+(a[j]-a[k+1]);但是需要三重循环,时间复杂度接受不了
转载
2019-11-18 20:28:00
125阅读
2评论
...
转载
2021-09-09 18:36:00
175阅读
2评论
斜率优化DP 两步骤; 1.造出DP方程; 2.通过DP方程构造出一个斜率优化方程; 具体怎么构造呢? 如 两个点 a b; 构造出 DP(a)<DP(b) 然后通过这一式子,构造出一个下凸包(后面的边的斜率大于前面的边) 只有下凸包的点是可能作为状态转移方程的转移点,其他点都不可能。 然后,构造完
转载
2019-11-18 16:37:00
136阅读
2评论
主要内容 形如这样的 \(\text{DP}\) 转移方程: \(dp[i]=\max_{L_i\le j\le R_i}\{dp[j]+val(i,j)\}\) 满足: \({L_i}\) , \({R_i}\) 递增( 前提条件 )。 \(R_i≤i\) ( 转移条件 )。 \(val(i,j) ...
转载
2021-08-12 13:48:00
156阅读
2评论
\(\text{Example 1 : CF372C Watching Fireworks is Fun}\) : 题目大意:城镇中有 个位置,有 \(n\) 个烟花要放。第 \(i\) 个烟花放出的时间记为 \(t_i\),放出的位置记为 \(a_i\)。如果烟花放出的时候,你处在位置 \(x\) ...
转载
2021-10-08 11:19:00
149阅读
2评论
DP优化 斜率优化 求$f(i)=max{f(j)+(s(i)-s(j))^2}$,\(n\leq 10^6\). 其中$,s(x),\(是只和\),x,$有关的单调减函数,可以快速计算 显然我们不能$,\Theta(n^2),$暴力计算,考虑减少决策数,化简得: \[ f(i)=max\{f(j) ...
转载
2021-10-18 21:46:00
61阅读
2评论
题目大意: 给出N个单词,每个单词有个非负权值Ci,现要将它们分成连续的若干段,每段的代价为此段单词的权值和,还要加一个常数M
原创
2022-07-05 10:03:12
59阅读
单调队列优化DP对于f[i] = min{ f[j] } + a[i] 型使用整理归纳单调队列的定义:1、维护区间最值;2、去除冗杂状
原创
2022-07-05 10:33:40
255阅读
一、预备知识 1. $tD/eD$ 问题:状态 t 维,决策 e 维。时间复杂度$O(n^{e+t})$。 2. 四边形不等式: 称代价函数 w 满足凸四边形不等式,当:$w(a,c)+w(b,d)\le w(b,c)+w(a,d),\ a $。每次要做的就是: 二分找到d(j)在哪个列区间,弹出后
原创
2021-07-22 13:57:05
184阅读
对于刷题量我觉得肯定是刷的越多越好(当然这是对时间有很多的人来说。 但是在我看来我的确适合刷题较多的那一类人,应为我对知识的应用能力并不强。这两天学习的内容是dp的斜率优化。当然我是不太会的。 这个博文肯定也是不断更新的(随着我对斜率优化的不断深入的理解。 这两天做的题是一道经典的任务安排。 这道题
转载
2019-01-20 21:47:00
100阅读
跟着书上的思路学习dp的单调性优化觉得还是很容易想的。 数据范围: dp,数据范围是百万,这应该是O(n)的算法了。 首先不难想到设f[i]表示到第i个百米所能达到的最大能量,那么f[n]即为所求。 f[i]=max(f[i],f[j]+s[i]-s[j]-cost[i]);这个地方s数组是能量的前
转载
2018-12-30 18:24:00
106阅读
稍微浅浅地总结一下目前认识到的四种利用凸性优化 DP 的方法。 单调队列 考虑对于 \(f_i=\max_{j} f_j+v_j+p_iq_j\) 的形式。把 \(j\) 考虑成一个 \((q_j,v_j+f_j)\) 的点,然后 \(f_j+v_j+p_iq_j\) 即过点的斜率为 \(-p_i\ ...
转载
2021-08-14 17:56:00
582阅读
2评论
好的今天又是摸鱼的一天,就看了一下单调队列的优化。 单调队列的使用满足几个条件:1.区间的最值询问 2.区间在滑动 单调队列的本质是:当一个选手比你小,且比你强,那你就没有机会了——Chen_zhe 我们要维护一个单调的队列,满足队列里面的两个值,即元素在原来排列中的位置,还有元素的值,都是单调递增 ...
转载
2021-10-19 20:58:00
171阅读
2评论
dp[i] = min(dp[j]+(sum[...
原创
2023-05-31 09:31:55
0阅读
Paint PearlsTime Limit: 4000/2000 MS (Java/Others) Memor
原创
2023-04-24 23:48:51
65阅读
斜率优化DP入门 参考蓝书。 斜率优化的模型一般是: \[ f[i]={\min/\max}_{L(i)\leq j\leq R(i)}{f[j]+val(i,j)} \] 其中, \(val(i,j)\) 仅和 \(i\) 或 \(j\) 有关时,我们可以想到单调队列优化 当其同时与 \(i,j\ ...
转载
2021-08-07 22:39:00
339阅读