Acwing_795前缀和 【一维前缀和】+Acwing_796子矩阵的和 【二维前缀和】

Acwing_795前缀和 【一维前缀和】

题目:

代码:

cpp 复制代码
#include <bits/stdc++.h>
#define int long long
#define INF 0X3f3f3f3f
#define endl '\n'
using namespace std;
const int N = 100010;
int arr[N];

int n,m;
int l,r;
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m;
	int sum[N];
	for(int i = 1; i <= n; i++){
		cin>>arr[i];
		sum[i]= sum[i-1] + arr[i];
	}
	while(m--){
		cin>>l>>r;
		cout<<sum[r]- sum[l-1]<<endl;
	}
	return 0;
}

Acwing_795前缀和 【一维前缀和】

cpp 复制代码
#include <bits/stdc++.h>
#define int long long
#define INF 0X3f3f3f3f
#define endl '\n'
using namespace std;
const int N = 1010;
int arr[N][N];

int n, m, q;
signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int sum[N][N];
	cin>>n>>m>>q;
	for (int i = 1; i <= n; i++){
		for (int j = 1; j <= m; j++){
			cin>>arr[i][j];
			sum[i][j] = sum[i-1][j] +sum[i][j-1]-sum[i-1][j-1]+arr[i][j];			
		}
	}
	while(q--){
		int x1, y1, x2, y2;
		cin>>x1>>y1>>x2>>y2;
		cout<<sum[x2][y2] - sum[x1-1][y2]-sum[x2][y1-1]+sum[x1-1][y1-1]<<endl;
	}
	return 0;
}
相关推荐
Book思议-1 天前
【数据结构实战】川剧 “扯脸” 与栈的 LIFO 特性 :用 C 语言实现 3 种栈结构
c语言·数据结构·算法·
3GPP仿真实验室1 天前
【MATLAB源码】感知:CFAR 检测算法库
算法·matlab·目标跟踪
fengenrong1 天前
20260324
c++·算法
qq_416018721 天前
设计模式在C++中的实现
开发语言·c++·算法
倾心琴心1 天前
【agent辅助pcb routing coding学习】实践9 CU GR 代码 算法学习
算法·agent·pcb·eda·routing
数据智能老司机1 天前
谷歌 TurboQuant 深度拆解:LLM 内存压缩 6 倍、推理加速 8 倍、零精度损失,它是怎么做到的?
算法
2301_776508721 天前
C++与机器学习框架
开发语言·c++·算法
Albertbreak1 天前
STL容器内部实现剖析
开发语言·c++·算法
CoovallyAIHub1 天前
AAAI 2026 | AnoStyler:文本驱动风格迁移实现零样本异常图像生成,轻量高效(附代码)
算法·架构·github
2301_795741791 天前
模板编译期机器学习
开发语言·c++·算法