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

搜狗网站做滤芯怎么样建筑工程网络组网

搜狗网站做滤芯怎么样,建筑工程网络组网,网站网页设计入门,做网站获取手机号码由于比赛基本都是采用Dev-C所以,算法篇基本都是采用Dev-C来解释(版本5.11,c11) 首先介绍一下前缀和算法 给定一个数组,有q次询问,每次询问: 两个整数l,r,求出数组 l 到 r的结果 遇…

由于比赛基本都是采用Dev-C++所以,算法篇基本都是采用Dev-C++来解释(版本5.11,c++11)
首先介绍一下前缀和算法

给定一个数组,有q次询问,每次询问:
两个整数l,r,求出数组 l 到 r的结果

遇到问题首先先来分析问题
上图:
在这里插入图片描述
第一种方法,相信大家都会写,所以我们现在来写第二种解法:
在这里插入图片描述
数学中的求和公式,我们可以将其变为:
在这里插入图片描述

那我们为什么要这么做呢?

例如:上面的数组 1 2 3 4 5
用这个公式可以得出 1 3 6 10 15
得出的东西是什么呢?
在这里插入图片描述
可见,每一项就等于自身的值,加上前面的所有项的值
那我们应该如何求区间中的值呢?
数组[r]-数组[l-1]
在这里插入图片描述
要求蓝色的值,我们就要用从数组开始一直到 r 的值减去数组开始一直到 l-1 的值。

证明一下,比如我们要求 l =2,r=5
上面我们已经求得了数组开始一直加到数组结尾,值为15,数组[l-1]的值为1
最终我们所得的值为 14.

下来我们写一下代码:

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e5+9;
void test()
{int lenth,q;cin>>lenth>>q;ll arr[N],perfix[N];for(int i=1;i<=lenth;i++){cin>>arr[i];}for(int i=1;i<=lenth;i++){perfix[i]=perfix[i-1]+arr[i];}while(q--){int l,r;cin>>l>>r;cout<<perfix[r]-perfix[l-1]<<'\n';}
}
int main()
{int T;cin>>T;while(T--){test();}return 0;
}

在这里插入图片描述
代码没有问题,这里有一点我想提一下,这里的代码,数组arr[0]是不存东西的,是为了方便后面前缀和,有的小伙伴代码风格不同,就是要从0开始,也是可以的
通过调试:
在这里插入图片描述
我们可以看到时这样存储的,我们题目中询问l=2 r=5并不是问下标,而是实打实元素的顺序,要解决这一问题,我们可以
在这里插入图片描述
将perfix[i]=perfix[i-1]+arr[i];改为现在这样这样就妥了

在这里插入图片描述
当然还有别的修改办法,这里就不一 一列举了。

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

相关文章:

  • 网站策划书注意事项涟水做网站
  • 同个主体新增网站备案大连中国建筑装饰网
  • 2022企业所得税减半seo关键词优化系统
  • 南京做企业网站网站建设公司有多少
  • 北京移动端网站开发站酷网官网
  • 商城移动端网站开发豌豆荚app下载
  • 建网站的价格虚拟主机免费领取
  • 企业网站推广制作教程用vs做网站 怎么安装
  • 天津有哪些有名的网站建设公司天津餐饮网站建设
  • 网站建设有前途深圳博大建设集团网站
  • 婚纱摄影网站首页活动营销推广方案
  • 视频网站设计做采集网站赚钱
  • 外贸网站服务器选择开发平台官网
  • 佛山网站优化有哪些办公室现代简约装修
  • 广州市住房和城乡建设部网站网站开发团队取什么名字好
  • 湖南品牌网站建站可定制闵行区网站
  • 宿松住房和城乡建设局网站数字广东网络建设有限公司介绍
  • 做网站哪个系统最好wordpress the7 中文视频教程
  • 免费建设公司网站招商网网站建设方案
  • 四川省城乡住房和建设厅网站网页访问wordpress
  • 网站网站开发违法吗甜品店网站建设
  • 威海设计网站的c网站开发案例详解 pdf
  • 每天一篇好文章网站网站开发营销网站多少钱
  • 公司做宣传网站织梦cms做多语言的网站
  • 公司自建网站需要多少钱自媒体135编辑器官网
  • 网站案例展示网站及网页设计费用
  • 佛山网站制作专家wordpress栏目出现404
  • 高端网站建设设计公司广告推广费用一般多少
  • 做网站用php还是python百度快照怎么用
  • 阿里云二级域名网站怎么建设手机网站可以做动态吗