随笔分类 - DP:单调队列/斜率优化
摘要:有m个猫 p个人 n个地点 每个点有若干只猫 每个猫会在的时候可以开始被接走 每个人只能从1走到n 距离上要花费时间 求小猫等待时间的和的最小值 贪心来创造dp序: 可以先考虑没有距离的情况 然后把距离减到 构成等效时间 #include <iostream> #include <cstd
阅读全文
摘要:有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。 机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。 从时刻 0 开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。 另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加
阅读全文
摘要:注意考虑下边界和0的大小关系 边界分析: 所求范围: \(i\in [1,n],p \in [0,(m-u)/v_
阅读全文
摘要:给定一个长度为 N 的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过 M 的前提下,让“每段中所有数的最大值”之和最小。 试计算这个最小值 容易得到转移方程: \[ f(i)=\min_{0\le j<i,sum(i)-sum(j) \le m}\{f(j)+ \max_{j+1
阅读全文
摘要:有 N 块木板从左到右排成一行,有 M 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 i 个木匠要么不粉刷,要么粉刷包含木板 S_i 的,长度不超过 L_i 的连续的一段木板,每粉刷一块可以得到 P_i 的报酬。 不同工匠的 S_i 不同。 请问如何安排能使工匠们获得的总报酬最多 注意:
阅读全文