随笔分类 -  动态规划——单调队列&斜率优化

摘要:【传送门:BZOJ3675】 简要题意: 一开始给出n个数的一段序列,可以分割k次,每次只能分割一段序列,一段序列被分割后就变成两个序列,每次分割的价值为分割的位置左边的数的和乘右边的数的和 求出最大价值 题解: DP+斜率优化 首先来设f[i][k]为前i个数,分割k次得到的最大价值 接下来。。。 阅读全文
posted @ 2018-03-15 20:04 Star_Feel 阅读(169) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ1499】 简要题意: 有一个字符矩阵,'.'表示能走,'x'表示不能走,给出起点的坐标,起点有一座钢琴,每单位时间可以移动一格,共有k个时间段,然后再给出每个时间段起始时间和结束时间,以及当前时间段能够移动的方向。而在某个时间,可以控制钢琴不动,钢琴不能走到'x'而且不能走出矩阵 阅读全文
posted @ 2018-03-08 18:56 Star_Feel 阅读(300) 评论(1) 推荐(0) 编辑
摘要:【传送门:BZOJ2424】 简要题意: 给出n天所需要的货物和每一天的货物的单价,可以多买一些货物存放在容量为s的仓库里,每一个货物存放一天需要m的花费,求出满足n天所需的货物的最小花费 题解: 先写了个DP方程:f[i][j]=min(f[i][j],f[i-1][k]+d[i]*(j+u[i] 阅读全文
posted @ 2018-02-27 19:47 Star_Feel 阅读(171) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ1911】 简要题意: 有n个人,每个人都有一个战力值,将这n个人分成若干个段(每个段内的人的编号都是连续的),每个段的初始战力值为每个段内的人的战力值的总和 给出常数a,b,c,而每个段的真正战力值为ax2+bx+c(x为这个段的初始战力值),求出分成若干个段得到的所有段的最大真 阅读全文
posted @ 2017-12-31 10:40 Star_Feel 阅读(109) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3156】 简要题意: 给出n个点,每个点对其进行两种操作:第一种将这个点变为特殊点,花费为a[i],第二种将这个点变为普通点,花费为右边最接近的特殊点与这个点的距离(比如说当前点为i点,右边最接近的点为j点,那么花费为(j-i)),这样就说明最右边的点必须为特殊点 求出将每个点都 阅读全文
posted @ 2017-11-30 13:47 Star_Feel 阅读(141) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ4518】 简要题意: 给出n个数,要求分成m个段,使得这些段的数和的方差最小,并将方差*m^2 题解: 斜率优化DP 我们设ans为最后的答案,sum表示所有的数之和,c[i]表示最优解中第i段数字和 下面式子中,1<=i<=m ans=[∑(c[i]-sum/m)^2]/m*m 阅读全文
posted @ 2017-11-26 15:36 Star_Feel 阅读(157) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ3437】 简要题意: 一条线上有n个点,每个点都有一个权值,每个点都可以选择放置一个监测器,假设i点有监测器,那么假设i点左边最靠近i点的监测器在j点,那么i点的监测器就可以监测j+1到i的所有点 每个点放置监测器都有花费(这个花费不是点的权值),而且假设在y点放置了监测器,并且 阅读全文
posted @ 2017-11-23 14:00 Star_Feel 阅读(290) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ2442】 简要题意: 约翰让他的奶牛来修建草坪。他有N 头奶牛,第i 头奶牛的工作能力为Ai。编号相近的奶牛很 熟悉,如果同时让K + 1 头编号连在一起的奶牛工作,她们就会密谋罢工。请问,约翰应该让哪些奶 牛同时工作,使得它们的能力之和最大,而且不会罢工。 输入格式: • 第一 阅读全文
posted @ 2017-11-03 15:36 Star_Feel 阅读(356) 评论(0) 推荐(0) 编辑
摘要:【传送门:BZOJ1597】 简要题意: 给出n块土地,给出每块土地的长和宽,可以将n块土地分成若干组,每一组的费用是组中的长最大的土地的长与宽最大的土地的宽的乘积,求出将n块分成若干组的最小费用 题解: 首先我们将一些土地排除,排除哪些土地呢? 先将土地按长度递增排序,然后长度相同按宽度递增排序 阅读全文
posted @ 2017-10-06 11:01 Star_Feel 阅读(206) 评论(0) 推荐(0) 编辑
摘要:【例题传送门:BZOJ1010】 BZOJ1010: [HNOI2008]玩具装箱toy 【题意】给出n条连续线段,每条线段都有长度为x[i],我们可以把连续若干条线段连在一起,变成一个组合,两条线段如果相连,就要在两条线段中间添加一个长度为1的格子(如果没有相连就不用添加),假如我们现在选择把第i 阅读全文
posted @ 2017-10-06 10:34 Star_Feel 阅读(654) 评论(0) 推荐(1) 编辑
摘要:【传送门:BZOJ1010】 简要题意: 给出n条连续线段,每条线段都有长度为x[i],我们可以把连续若干条线段连在一起,变成一个组合,两条线段如果相连,就要在两条线段中间添加一个长度为1的格子(如果没有相连就不用添加),假如我们现在选择把第i条到第j条线段之间的所有线段变成一组合的话,这个组合的总 阅读全文
posted @ 2017-09-14 21:25 Star_Feel 阅读(186) 评论(0) 推荐(0) 编辑

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