题目链接
示例1
输入
复制
4 1 2
1 1 4 5
2 2 2 3
4
输出
复制
10
说明
在第4格放出水流后,水流会流向第3格,由于第3格高度比第4格低,所以水流继续向左流向第2格,因为平地水流只能流2格,所以到达第2格后水流停止,收获的小麦数量为1 + 4 + 5 = 10
示例2
输入
复制
5 2 2
1 1 4 5 1
2 2 3 3 4
4
3
输出
复制
9
6
题意:
从左到右非递减的台阶上每个格子长着ai个小麦,小麦遇到水就会被采集,一个格子的水在同一高度最多可以向外扩散k-1个格子 ,如果高度改变将重新计算扩散(水只会往低处流),q次询问,每次在一个格子上放水,能收集到多少小麦。
思路:
先用前缀和将小麦求一遍,之后在每次输入台阶高度的时候就进行预处理水能流的情况(水只会往左流),这样可以避免在询问的时候进行多次计算从而超时:
评价:
非常非常非常简单的一题,但是我不知道什么情况赛时超时之后就一直优化不出来,而且发现代码能力显著下降了,是最近松懈了,反思,重努力找回状态
#include
#include
#include
#include
#include
#include
#include
#include
#include