会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
每名 AI Agent 要么不买,要么购买的分钟数落在 [u,v] 里。总时间是各人分钟之和。覆盖行数达到 G 即可。u>v 的代理买不了。
先按效率从高到低买出一个可行方案,把它的总分钟记为 H。最优答案不会超过 H。
dp[t] 表示恰好花 t 分钟能完成的最大行数。加入一名效率为 e、区间为 [u,v] 的代理时,不买就保持上一轮的 dp[t];若上一轮花了 s 分钟,且 u≤t−s≤v,新行数是 dp[s]+e⋅(t−s)。也就是在下标区间 [t−v,t−u] 里找 dp[s]−e⋅s 最大的 s,再用双端队列维护这个滑动窗口。
最小的满足 dp[t]≥G 的 t 就是答案。全部买到最高消费仍不够时,答案是 −1。