斜率优化
青禾script
这个人太弱,所以也不知道能写什么23333
展开
-
[BZOJ 3156] 防御准备 · 斜率优化DP
跟佣神(orz)请教了一番大概会了基础的斜率优化: 基础的斜率优化一般就是两种情况:(斜率式子)i 且i单调减。 对于第一种情况,也就是斜率单调增的,维护队头很好理解,维护队尾的时候,因为我们要保证斜率递增,所以如果(q[r],q[r-1])的斜率大于(i,q[r]),那么我们就把r给踢掉。 第二种情况就直接反过来想就可以了。 对于这题: f[i]表示在第i个点上放守卫塔,裸的方程为原创 2015-09-10 22:15:45 · 437 阅读 · 0 评论 -
[BZOJ 1010] HNOI 2008 玩具装箱toy · 斜率优化DP
第三次做这题终于A掉了,了结了一个心病。 首先还是列出裸的DP方程: 表示当前这个容器的末尾是第i个,上一个的末尾是第j个,si是对玩具长度做的前缀和。 那么用斜率优化的话,我们还是设x>y且x优于y,可以得到这个式子: 然后为了方便化简,我们设Ti=i+Si,P=L+1,就可以得到这个式子: 这样就可以直接斜率优化搞了,如果斜率优化有不理解的可以看我的BZOJ 3156的题解,还是原创 2015-09-11 12:45:15 · 477 阅读 · 0 评论 -
[BZOJ 1597] Usaco2008 Mar 土地购买 · 斜率优化DP
拿到手的时候根本想不到是斜率优化。。。然而思路太神了。 对于两块地x1*y1 x2*y2,如果x1 这样我们可以得出平方级别的DP方程: 现在开始斜率优化: 假设j>k且j优于k,那么满足 化简得到 然后就随便写写呗~ 虽然各种奇葩错误WA了无数次 #include #include #include #include using namespace std; #defin原创 2015-09-18 20:46:07 · 1370 阅读 · 0 评论