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

前缀和及例题

时间:2020-02-22 09:47:38      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:height   include   例题   info   ++   alt   前缀和   需要   clu   

所谓前缀和,就是在一行数字中,第i个数以及它前面所有数字的和,一般都是利用前缀和计算。生活中一些算数问题也通常用到了前缀和的思想,

下面是一个例子:

假设小A作为一个会计,老板让他统计最近十天的总收入,他将这最近十天的收入算好,老板又让他计算最近五天的

营业额,小A又拿起计算器敲敲敲,老板又问最近一周的营业额,小A又拿起计算器敲敲敲。当老板再问起的时候,小A同学已经

懒得再算了。显然,这是一种低效且容易算错的算法。而如果用到前缀和,只需要在每一行的下面再加一行用来统计到当前天时的

总营业额,当需要计算某j - k天的营业额时,只需要将到第K天的总营业额减去第j天前面的总营业额就可以了。

技术图片

技术图片

 

 下面贴一个例题:

 

 

技术图片

 

 

 1 #include <iostream>                    //一维前缀和 
 2 using namespace std;
 3 int n, a[100010], f[100010], m;
 4 int main(){
 5     cin >> n >> m;
 6     f[0] = 0;
 7     for(int i = 1; i <= n; i ++){
 8         cin >> a[i];
 9         f[i] = f[i - 1] + a[i];
10     }
11     int minn = 0x3f3f3f3f;
12     for(int i = 1; i <= n - m + 1; i ++){
13         int s = f[i + m - 1] - f[i - 1];
14         if(s < minn){
15             minn = s;
16         }
17     }
18     cout << minn << endl;
19     return 0;
20 }

 

前缀和及例题

标签:height   include   例题   info   ++   alt   前缀和   需要   clu   

原文地址:https://www.cnblogs.com/pureayu/p/12343861.html

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