[ABC #274 F]Fishing

1 题目翻译#

n 条鱼在数轴上移动。

i 条鱼在时刻 0 时在位置 xi 处,价值为 wi,将会以每时刻 ti 的速度向数轴正方向前进。

你是一个渔夫,你有感应河流的能力,你已经知晓所有鱼的 x,w,t 属性。

你会选择一个时刻 t,在位置 x 撒下一张长度为 a 的网,所有在时刻 t 时处于区间 [x,x+a] 的鱼都会被你捕获。

你想求出你撒一次网能捕获的鱼的价值和的最大值。

2 解法分析#

首先,观察题目条件。容易发现,对于以一条鱼为左端点的区间比左端点没有鱼的区间答案更优。

所以,我们可以枚举要以哪一条鱼作为左端点。

假设我们现在设第 i 条鱼为区间左端点。

显然,我们可以设这条鱼静止,其他鱼与它相对运动。这样,我们就可以每次记录一条鱼进入区间和离开区间的时刻,最后再前缀和一遍即可。

那么,接下来就有几种情况:

  • 对于第 i 条鱼,这条鱼在向后运动:
    • 刚开始在区间里面,则看做一开始就进入区间
    • 刚开始在区间左边,则永远也进入不了区间
    • 刚开始在区间右边,则正常处理即可
  • 对于第 i 条鱼,这条鱼在向前运动
    • 刚开始在区间里面,则看做一开始就进入区间
    • 刚开始在区间左边,则正常处理即可
    • 刚开始在区间右边,则永远也进入不了区间
  • 对于第 i 条鱼,这条鱼静止不动
    • 刚开始在区间里面,则一直都在区间之内
    • 刚开始在区间左边和右边,则永远也进入不了区间

把这几种情况区里完毕之后,这道题就完成了。

3 AC Code#

// 人家还没写~

作者:DE_aemmprty

出处:https://www.cnblogs.com/aemmprty/p/16822106.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   DE_aemmprty  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示