Processing math: 100%

随笔分类 -  动态规划之斜率优化dp

摘要:题解:带删点的维护凸包,1.删点2.查询凸包周长 题解:倒着做就成了带加点的维护凸包,加点时维护一下周长就没了 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC op 阅读全文
posted @ 2019-04-04 20:18 walfy 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题意略 题解:可以列出dp方程dp[i]=max(dp[j]a[i]c[j]+b[i]a[j]c[j]+b[j],化简可以得到$\frac{dp[i]}{b[i]}=\frac{a[i]}{b[i]} \frac{dp[j] c[j]}{a[j] c[j]+b[j]} 阅读全文
posted @ 2019-04-04 19:07 walfy 阅读(208) 评论(0) 推荐(0) 编辑
摘要:题解:首先要明确一件事,就是当分割的方案固定时,无论先分割的哪一段,结果都是不变的,然后能列出dp方程:dp[i][j]=max(dp[k][j1]+(a[i]a[k])(a[n]a[i])),a[i]表示前缀和,我们能先枚举第二维,那么每层的dp值只和上一层相关,用滚动数组即可完成,然 阅读全文
posted @ 2019-02-24 09:56 walfy 阅读(191) 评论(0) 推荐(0) 编辑
摘要:农夫John准备扩大他的农场,他正在考虑N (1 increase,Y decrease so dp[i]=min(dp[j]+p[i].fi p[j+1].se); / Problem: 1597 User: walfy Language: C++ Result: Accepted Time:14 阅读全文
posted @ 2018-07-06 14:01 walfy 阅读(143) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/images/1911_1.jpg 题解:斜率优化dp,斜率优化的状态都很明显,就是关于x的函数f(x) 关于y的函数g(y),然后f(x)单调即可斜率优化,这题就是dp【i】表示选前i的最优方案; 转移方程:dp[i]=dp[j] 阅读全文
posted @ 2018-06-03 23:10 walfy 阅读(149) 评论(0) 推荐(0) 编辑
摘要:题意:给定上一棵树,然后每条边有一个权值,然后每个点到 1 的距离有两种,第一种是直接回到1,花费是 dist(1, i)^2,还有另一种是先到另一个点 j,然后两从 j 向1走,当然 j 也可以再向 k,一直到1,但经过一个点,那么就会出多一个花费 p,问你每个点到 1 的最小距离的最大值是多少。 阅读全文
posted @ 2018-05-03 11:54 walfy 阅读(386) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=1096 中文题意不说了, dp【i】表示从1到i所有产品都能放,而且第i个地方一定建仓库的最小费用,转移方程dp[i]=min(dp[j]+Σ(j<k<=i)x[i]-x[k])*p[k](1<=j< 阅读全文
posted @ 2018-04-27 22:58 walfy 阅读(165) 评论(0) 推荐(0) 编辑
摘要:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一 阅读全文
posted @ 2018-04-12 23:16 walfy 阅读(207) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示