目录 一、题目解析二、算法原理三、代码实现 一、题目解析 二、算法原理 三、代码实现 #include <iostream> using namespace std; #include<vector> int main() { int n=0,m=0,q=0; cin>>n>>m>>q; vector<vector<int>> arr(n+1,vector<int>(m+1)); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>arr[i][j]; } } vector<vector<long>> dp(n+1,vector<long>(m+1)); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { dp[i][j]=dp[i-1][j]+dp[i][j-1]+arr[i][j]-dp[i-1][j-1]; } } int x1=0,y1=0,x2=0,y2=0; while(q--) { cin>>x1>>y1>>x2>>y2; cout<<dp[x2][y2]-dp[x2][y1-1]-dp[x1-1][y2]+dp[x1-1][y1-1]<<endl; } return 0; }