[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
// 人家还没写~

浙公网安备 33010602011771号