Loading

[ABC #274 F]Fishing

\(1\) 题目翻译

\(n\) 条鱼在数轴上移动。

\(i\) 条鱼在时刻 \(0\) 时在位置 \(x_i\) 处,价值为 \(w_i\),将会以每时刻 \(t_i\) 的速度向数轴正方向前进。

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

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

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

\(2\) 解法分析

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

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

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

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

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

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

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

\(3\) AC Code

// 人家还没写~
posted @ 2022-10-24 17:10  DE_aemmprty  阅读(34)  评论(0)    收藏  举报