【題目】
time limit: 1 sec memory limit: 128 mb
submit: 284 solved: 114
[submit][status][web board]
乙個n*m的矩陣a(| a[i][j] |<=10^3),有3中操作
1. add i,j,val : 把矩陣a[i][j]位置加上val(|val|<=10^3)
2. sub i,j val: 把矩陣a[i][j]位置減去val(|val|<=10^3)
3.sum x1,y1,x2,y2: 求以(x1,y1),(x2,y2)為對角線的子矩陣和(1<=x1<=x2<=n,1<=y1<=y2<=m)
第一行n,m(1<=n,m<=1000)表示矩陣的大小
然後n*m行矩陣的初始值
接下乙個q(1<=q<=100000)表示操作
然後q行,每一行如上所述
乙個數表示答案
2 2
1 23 4
5add 1 1 2
sum 1 1 1 1
sub 1 1 2
sum 1 1 1 1
sum 1 1 2 2
3
110
【題解】
一維字首和
【**】
#includeusing namespace std;
int a[1005][1005];
main()
scanf("%d",&q);
char s[5];
int x,y,xx,yy,v;
for(k=0;kelse if(s[2]=='b')
else}}
}
海嘯 矩陣字首和
有乙個沿海地區,可以看作有n行m列的城市,第i行第j列的城市海拔為h i j 由於沿海,所以這個地區經常會發生海嘯。海嘯發生時,部分城市會被淹沒,具體來說,海水高度會達到d,因此海拔低於d的城市都會被淹沒。現在有q次詢問,每次問你乙個矩形區域中,有多少城市不會被淹沒。第一行三個整數n,m,d,具體含...
01矩陣字首和
題目描述 給定乙個 n m 的 01 矩陣,求包含 l,r 個 1的子矩形個數。第一行,兩個正整數 n,m。接下來 n行每乙個長度為 m的 01 串,表示給定的矩陣。接下來 一行,兩個自然數 l,r。首先暴力列舉顯然不可取 注意到,n非常小,可以考慮一種 o n 2m 的方法 很套路,要將詢問拆成 ...
最大化(矩陣字首和)
矩陣字首和 神奇的剪枝 矩陣字首和 如圖,a 2 2 的字首和就是2 3 2 7,a 1 4 的字首和就是2 3 4 8 以此類推,每乙個座標的字首和,都是該座標到矩陣左上角的數字之和 這樣,任意子矩陣的數字和,可以在o 1 時間內查詢 實現 for int i 1 i n i for int j ...