51Nod-1081-子段求和
来源:互联网 发布:数据库原理视频专辑 编辑:程序博客网 时间:2024/06/05 11:38
51Nod-1081-子段求和
1081 子段求和给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。Input第1行:一个数N,N为数组的长度(2 <= N <= 50000)。第2 至 N + 1行:数组的N个元素。(-10^9 <= N[i] <= 10^9)第N + 2行:1个数Q,Q为查询的数量。第N + 3 至 N + Q + 2行:每行2个数,i,l(1 <= i <= N,i + l <= N)Output共Q行,对应Q次查询的计算结果。Input示例51379-141 22 23 21 5Output示例4101619
解题方法
使用前缀和解题,把前缀和存入列表里,每次查询时,就用用两个前缀和相减即可求出答案。
解题代码
N = int(input())A = [0]#迭加前缀和放入列表里for n in range(N): A.append(int(input()) + A[n])T = int(input())for t in range(T): a, b = list(map(int, input().split())) #定位前后两个前缀和,用相减求出中间的总和值 print(A[a+b-1]-A[a-1])
阅读全文
0 0
- 51nod 1081 子段求和
- 51nod-1081子段求和
- 51nod 1081 子段求和
- 51nod 1081 子段求和
- 51Nod 1081 子段求和
- 【51Nod】1081 子段求和
- 51Nod-1081-子段求和
- 51Nod-1081 子段求和
- 51nod 1081 子段求和
- 51Nod-1081 子段求和
- 51Nod-1081-子段求和
- 51nod:1081 子段求和(树状数组)
- 51Nod-1081 子段求和【前缀和】
- 51Nod 1081 子段求和(数组/树状数组)
- 51nod-1081[前缀和]子段求和
- H 子段求和(51Nod 1081)
- 1081 子段求和
- 51nod 1081子串求和
- 最大熵模型
- POJ1979 /Openjudge1818 Red and Black解题报告(深度优先搜索,图的遍历)
- sql注入漏洞 为什么有 怎么解决
- 数据库内连接与外连接
- Macbook 命令行删除文件和目录
- 51Nod-1081-子段求和
- svn 常用命令
- LeetCode 28: Implement strStr()
- 浪潮之巅学习笔记
- CodeForces 317 D.Game with Powers(博弈论)
- Java 多线程
- 安卓项目五子棋代码详解(五)
- git clone error: RPC failed; result=22, HTTP code = 502
- require(),include(),require_once()和include_once()区别