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