洛谷3089 BZOJ3315
- 题意
FJ觉得让贝西在一条直线的一维线路上进行练习,他在不同的目标点放置了$N (1 \le N \le 1000)$个目标点,目标点$i$在目标点$x_i$,该点得分为$p_i$。贝西开始时可以选择站在一个目标点上,只允许朝一个方向跳跃,从一目标点跳到另外一个目标点,每次跳跃的距离至少和上一次跳跃的距离相等,并且必须跳到一个目标点。每跳到一个目标点,贝西可以拿到该点的得分,请计算他的最大可能得分。
向尔格推荐的题。长者的经验。
Solution
- 首先$O(N^3)$的DP还是很好想的。而且还有很多种方法。
- 列出一种:$f[i][j]$代表当前从第$i$个目标点开始跳,下一个跳到第$j$个目标点的最大得分。
- 长者的经验:前(后)缀和思想,然后就可以二分答案了。
- $f[i][j]$代表从第$i$个目标点开始跳,下一个跳到$j$或$j$之后的目标点的最大得分。
- 然后就做完了。
- 智障一下:只允许朝一个方向跳=向左或向右跳。
- 我怎么这么垃圾。
|
|