csp-s模拟87

T1:
  首先k一定大于等于0,因为如果是负数的话,那么就可以一直上下跳动,即出现负环
  那么二分k就好了
 
T2:
  首先可以将鸟看作静止,人在移动
  考虑简单dp,设计(f_i)表示在考虑走到i并且打一枪能打到的数量
  很容易可以想到转移方程:(f_i=max_{i-j geq k} { f_j + shoot_i })
  然后也很容易发现这是错的…… 发现如果一只鸟很长,长到大于k,那么它就有可能被计算两次
  考虑怎么去重,发现一只鸟的贡献是连续的一段区间,那就用线段树维护从每个位置转移的贡献即可
 
T3:
  有点懵,咕咕咕……

原文地址:https://www.cnblogs.com/Gkeng/p/11837000.html