随笔分类 -  DP:单调队列/斜率优化

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

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