
动态规划—斜率优化
文章平均质量分 69
Ezereal
这个作者很懒,什么都没留下…
展开
-
斜率优化+单调队列优化DP
转载自:http://blog.sina.com.cn/s/blog_508dd1e60100tvk0.html 今天做了一道DP的题目,题意如下:【题目大意】有N个数,现要将它们分成连续的若干段,每段的代价为(∑Ci)^2+M,求最小的代价。【题目分析】容易得到这样的一个动态规划算法:令dp[i]表示前i个数分成若干段的最小代价,能得到一个经典的动态转移方程:转载 2016-09-07 16:11:12 · 727 阅读 · 0 评论 -
CodeForces 631E Product Sum(斜率优化DP+二分|三分) ★
题意:给出n个数,现在可以移动一个数的位置,现在要使和sigma(ai*i)最大,询问这个最大和。思路:将一个数向左移动和向右移动是一样的,现在考虑向左移动。先预处理出前缀和,将一个数向左移动后,那么改变量为sum[r-1]-sum[l-1]+a[r]*(r-l),考虑枚举r,那么和r有关的数据就变成了常量。现在问题转化成了求a[r]*l-sum[l-1],注意到这里l和sum[l-]转载 2016-09-07 16:21:09 · 1382 阅读 · 0 评论 -
Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) E. Levels and Regions(斜率优化dp) ★ ★ ★
给定n个数t[1]~t[n],给定组数k,将这n个数分为k组,然后求一个期望。规则:1:同一组的元素是连续的,且组不能为空。2:每次找到第一个组(有元素未被杀死),设最小的未死元素为X,不存在则结束游戏。3:对于选定的组G和元素X,将G中杀死的元素i放t[i]个小球到抽奖箱,放t[X]个小球到抽奖箱,然后等概率的抽一个小球,这个操作花费1小时,抽到的小球代表的元素被杀死(如果是已经被杀死就跳过)。转载 2016-10-02 10:01:26 · 483 阅读 · 0 评论