码迷,mamicode.com
首页 > 其他好文 > 详细

csp-s模拟87

时间:2019-11-11 18:32:38      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:位置   连续   维护   线段   设计   负数   区间   表示   移动   

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

csp-s模拟87

标签:位置   连续   维护   线段   设计   负数   区间   表示   移动   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!