随笔分类 - 斜率优化
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1096 [算法] 斜率优化 时间复杂度 : O(N) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3675 [算法] 首先 , 我们发现将一段序列切成若干段所获得的收益与顺序无关 于是我们可以用fi,j表示切i次 , 前j个数的最大收益 令sumi表示ai的前缀和 显然 , fi,j
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1597 [算法] 首先将所有土地按长为第一关键字 , 宽为第二关键字排序 显然 , 当i > j , 且yi >= yj时 , 土地j没有用 , 不妨使用单调栈弹出所有没有用的土地 用f
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1911 [算法] 设前i个士兵"修正"后的最大战斗力为fi 令sumi表示x的前缀和 显然 , 有状态转移方程 : fi = max{ fj + a * (sumi - sumj) ^
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2726 [算法] 此题与POJ1180非常相似 但是 , 此题中的t值可能为负 , 这意味着不能每次都将斜率 <= k的点弹出 , 而需要在凸壳中进行二分查找 时间复杂度 : O(Nlo
阅读全文
摘要:[题目链接] http://poj.org/problem?id=1180 [算法] 首先 , 用fi表示前i个任务花费的最小代价 有状态转移方程 : fi = min{ fj + sumTi(sumCi - sumCj) + S(sumCn - sunCj)} 直接进行转移的时间复杂度为O(N ^
阅读全文