《暴躁老妈》45集大结局:一场啼笑皆非的温情告别,免费观看不容错过!

核心内容摘要

星巴克污渍,告别油腻烦恼——一键去除衣物油渍的秘密武器!
污导航app合集曝光:解锁娱乐新边界,谨慎选择,理性体验

52x导航:解锁数字时代的无限可能,重塑你的网络体验

B3612 【深进

例1】求区间和题目来源https://www.luogu.com.cn/problem/B3612#ide题目描述给定nnn个正整数组成的数列a1,a2,⋯ ,ana_1, a_2, \cdots, a_na1​,a2​,⋯,an​和mmm个区间[li,ri][l_i,r_i][li​,ri​]分别求这mmm个区间的区间和。

输入格式第一行包含一个正整数nnn表示序列的长度。

第二行包含nnn个正整数a1,a2,⋯ ,ana_1,a_2, \cdots ,a_na1​,a2​,⋯,an​。

第三行包含一个正整数mmm表示区间的数量。

接下来mmm行每行包含两个正整数li,ril_i,r_ili​,ri​满足1≤li≤ri≤n1\le l_i\le r_i\le n1≤li​≤ri​≤n。

输出格式共mmm行其中第iii行包含一个正整数表示第iii组答案的询问。

输入输出样例 #1输入 #14 4 3 2 1 2 1 4 2 3输出 #110 5说明/提示样例解释第111到第444个数加起来和为101010。

第222个数到第333个数加起来和为555。

数据范围对于50%50 \%50%的数据n,m≤1000n,m\le 1000n,m≤1000对于100%100 \%100%的数据1≤n,m≤1051 \le n, m\le 10^51≤n,m≤1051≤ai≤1041 \le a_i\le 10^41≤ai​≤104。

题解importjava.util.Scanner;//

导入扫描器类用于读取控制台输入publicclassMain{//

定义主类Java程序入口类名需和文件名一致publicstaticvoidmain(String[]args){//

主方法程序执行的入口ScannerscnewScanner(System.in);//

创建Scanner对象关联控制台输入流intnsc.nextInt();//

读取第一个整数n表示原数组的元素个数//

定义原数组a和前缀和数组s长度n1索引0闲置1~n存数据和C1-based索引一致int[]anewint[n1];int[]snewint[n1];//

循环读取n个元素构建原数组a 前缀和数组s核心预处理for(inti1;in;i){a[i]sc.nextInt();//

读取第i个整数存入原数组a的第i位s[i]s[i-1]a[i];//

前缀和核心公式s[i] 前i个元素的累加和}intmsc.nextInt();//

读取整数m表示后续的区间和查询次数//

循环处理m次查询每次O(

时间出结果for(inti1;im;i){intlsc.nextInt();//

读取查询的左边界lintrsc.nextInt();//

读取查询的右边界r//

区间和核心计算[l,r]的和 前r项和 - 前l-1项和直接打印结果System.out.println(s[r]-s[l-1]);}sc.close();//

关闭Scanner释放输入流资源}}这个是关于前缀和的问题先设置好前缀和的数组然后通过for循环来得到每一个前缀和得到一个前缀和数组。

然后读取输入的l和r,通过循环可以获得多组l和r的相减的结果。

然后输出就可以了。

要注意到边界条件l不能小于1

R星大赛-每日大赛神探少女-R星大赛-每日大赛神探少女应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123