当前位置: 首页 > news >正文

博罗惠州网站建设最近几天的新闻大事

博罗惠州网站建设,最近几天的新闻大事,诚信通与网站建设区别,嘉兴网站的优化前缀和前缀和子矩阵的和结语前缀和 输入一个长度为 n的整数序列。 接下来再输入 m 个询问,每个询问输入一对 l,r 对于每个询问,输出原序列中从第 l 个数到第 r个数的和。 输入格式第一行包含两个整数 n和 m 第二行包含 n个整数,表示整数…

前缀和

  • 前缀和
  • 子矩阵的和
  • 结语

前缀和

输入一个长度为 n的整数序列。

接下来再输入 m 个询问,每个询问输入一对 l,r

对于每个询问,输出原序列中从第 l 个数到第 r个数的和。

输入格式第一行包含两个整数 n和 m

第二行包含 n个整数,表示整数数列。

接下来 m行,每行包含两个整数 l 和 r,表示一个询问的区间范围。

输出格式共 m 行,每行输出一个询问的结果。

数据范围

1≤l≤r≤n ,
1≤n,m≤100000 ,
−1000≤数列中元素的值≤1000

输入样例:

5 3
2 1 3 6 4
1 2
1 3
2 4

输出样例:

3
6
10

前缀和的用处:前缀和数组能以On(1)的方式求出给定范围内数组的和。

在很多地方都用的上前缀和数组,只是它很容易被人忽略,所以得多练练加深印象。

解题思路:本题是一维数组的前缀和,思路很简单,直接在原数组上进行修改即可。

求前缀和数组:设原数组为a[],我们可知递推方程为a[i]=a[i-1]+a[i]

前缀和数组求出后,要知道给定范围内[i,j]的数组和,就很简单了
方程为 vla=a[j]-a[i-1]

代码:

#include<iostream>using namespace std;const int N=100010;
int a[N];
int b[N];int main()
{int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) a[i]=a[i-1]+a[i];while(m--){int l,r;scanf("%d%d",&l,&r);cout<<a[r]-a[l-1]<<endl;}
}

子矩阵的和

输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。
对于每个询问输出子矩阵中所有数的和。
输入格式
第一行包含三个整数 n,m,q

接下来 n 行,每行包含 m 个整数,表示整数矩阵。

接下来 q行,每行包含四个整数 x1,y1,x2,y2,表示一组询问。

输出格式
共 q行,每行输出一个询问的结果。

数据范围:

1≤n,m≤1000
,
1≤q≤200000
,
1≤x1≤x2≤n
,
1≤y1≤y2≤m
,1000≤矩阵内元素的值≤1000

输入样例:

3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4

输出样例:

17
27
21

本题大致意思同上题差不多,只是从一维数组变为二维数组,有些不太好理解;

要求给定范围内的数组和 ,先说求二维前缀和的递推公式

a[i][j]=a[i][j-1]+a[i-1][j]-a[i-1][j-1]+a[i][j];

在这里插入图片描述

看图:
黑颜色即为所求,但是当我们在减去多余部分的时候,有一块区域会被减去两次,如上图,就是橙色的区域,因此我们需要将其加回来。
代码:

#include<iostream>using namespace std;const int N=1010;
int a[N][N];int main()
{int n,m,q;scanf("%d%d%d",&n,&m,&q);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){scanf("%d",&a[i][j]);}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[i][j]=a[i][j-1]+a[i-1][j]-a[i-1][j-1]+a[i][j];}}while(q--){int x1,y1,x2,y2;scanf("%d%d%d%d",&x1,&y1,&x2,&y2);int val=a[x2][y2]-a[x2][y1-1]-a[x1-1][y2]+a[x1-1][y1-1];cout<<val<<endl;}return 0;
}

结语

下篇会描述前缀和的兄弟,差分数组。

如果觉得有帮助的话,记得
一键三连哦ヾ(≧▽≦*)o。

http://www.yayakq.cn/news/503465/

相关文章:

  • 网站建站 外贸广东阳江网络问政平台
  • 用360打开自己做的网站有广告wordpress产品图片大小不一
  • 做网站要多少钱呀有没有做美食的视频网站
  • 网站制作费一般多少wordpress js代码插件下载地址
  • h5购物网站模板深圳系统开发高端网站建设
  • 企业网站建设专业成都旅游景点有哪些
  • 建国际网站需要多少钱聊城网站建设哪家便宜
  • 网站图片如何居中徐州网站无障碍建设
  • 网站免费正能量不用下载wordpress怎么重置
  • 做网站要不要交税牡丹江生活信息网
  • 网站内页怎么做301定向培训网络营销的机构
  • 动易网站迁移桂林论坛
  • 舟山论坛网站建设重庆游戏网站开发公司
  • dedecms 倒计时 天数 网站首页小说网站架构
  • 免费cdn服务器西安seo服务公司排名
  • 上海市网站seo公司下载建网站
  • 运动网站建设教程wordpress mo文件
  • 公司网站建设开源平台网站官网建设的价格
  • 漯河网站建设e可以注册的网站
  • 企业大学网站建设计划8818网站建设
  • 万户网站制作ceos 6.8安装wordpress
  • 一个服务器下怎么做两个网站公司网站域名在哪里备案
  • 手机商城网站建设蜘蛛搜索
  • 一般vs做的网站的总体框架中国公信网企业查询
  • 建设旅游网站的市场分析黑龙江省住房和城乡建设厅官网
  • 做一个公司的门户网站多少钱请人做网站 我需要知道哪几点
  • 苏州房地产网站建设网络推广平台免费
  • 垦利网站建设沙田镇做网站
  • 临沂企业网站建站模板苏州手机网站建设报价
  • 本地网站建设北京知名网站设计公司