
DP优化
文章平均质量分 55
Sdywolf
沃是一只蒟蒻
展开
-
斜率优化DP模板题--HDU3507 Print Article
题目大意:给出一串正数,将这一串数分成若干段,每一段的代价为这一段数的加和的平方+一个常数m,求最小代价。不难写出DP转移方程:f[i]=max(f[j]+(sum[i]−sum[j])2+m)f[i]=max(f[j]+(sum[i]-sum[j])^2+m)但是,这样复杂度是N2N^2的,对于N≤500,000N\le500,000显然是不行的,对于这种转移方程与i,j都有关的,可以用斜率优化来原创 2017-06-02 20:36:55 · 429 阅读 · 0 评论 -
USACO月赛2017.02 铂金组T2--NOCROSS
DescriptionFarmer John is continuing to ponder the issue of cows crossing the road through his farm,introduced in the preceding problem. He realizes that interaction between some pairs of breeds is act原创 2017-07-11 09:03:07 · 509 阅读 · 0 评论 -
DP--斜率优化--BZOJ1096--仓库建设
Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于地形的不同,在不同工厂建立仓库的费用可能是不同的。第i个工厂目前已有成品P原创 2017-06-09 09:11:42 · 450 阅读 · 0 评论 -
DP--多重背包--队列优化
问题描述:给出背包大小,给出一些物品,每个物品有一个重量、价值、个数,求能装进背包的最大总价值。 我们知道,这样的问题有很多种解法,比如可以用二进制拆分来使每个物品的个数变成原来的log,但是,这样显然还不够,下面我们来讨论利用队列来将多重背包优化到O(n*allv)的复杂度。我们知道,背包问题的转移方程为f[i][j]=max(f[i−1][j],f[i−1][j−w[i]]+p[i])f[i]原创 2017-06-12 21:39:06 · 407 阅读 · 0 评论 -
BZOJ 1010: [HNOI2008]玩具装箱toy【斜率优化】
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过 压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容 器中有多个玩具,那么两件玩具之间要加入一个单位长度的填充物,形原创 2017-08-06 19:30:12 · 351 阅读 · 0 评论 -
BZOJ 1597: [Usaco2008 Mar]土地购买【斜率优化】
Description农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地的价格是它的面积,但FJ可以同时购买多快土地. 这些土地的价格是它们最大的长乘以它们最大的宽, 但是土地的长宽不能交换. 如果FJ买一块3x5的地和一块5x3的地,则原创 2017-08-06 19:43:45 · 483 阅读 · 0 评论 -
51nod 1020 逆序排列【DP】
Description在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。1-n的全排列中,逆序数最小为0(正序),最大为n*(n-1) / 2(倒序) 给出2个数n和k,求1-n的全排列中,逆序数为k的排列有多少种? 例如:n =原创 2017-09-10 16:50:27 · 478 阅读 · 0 评论 -
51nod 1052[最大子段和]【DP】
DescriptionN个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的。如果M >= N个数中正数的个数,那么输出所有正数的和。例如:-2 11 -4 13 -5 6 -2,分为2段,11 -4 13一段,6一段,和为26。题解首先,题目的意思有点绕,这里的答案其实是可以选1..m1..m个子段的最优解。那么,我们定义f[i原创 2017-08-29 21:43:28 · 319 阅读 · 0 评论 -
【康复训练】【DP】【BZOJ】2298: [HAOI2011]problem a
Description一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数) 题解简单DP。每个人有一个名词区间,区间权值为相同区间的个数,题目等价于选出一些不相交的线段,使权值最大。代码#include<cstdio>#include<cstring>#include&...原创 2018-05-20 21:17:11 · 205 阅读 · 0 评论