#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=305; int n,m,q,mp[N][N],c[105][N][N]; void Modify(int x,int y,int col,int val) { for(int i=x;i<=n;i+=(i&-i)) for(int j=y;j<=m;j+=(j&-j)) c[col][i][j]+=val; } int Query(int x,int y,int col) { int tmp=0; for(int i=x;i;i-=(i&-i)) for(int j=y;j;j-=(j&-j)) tmp+=c[col][i][j]; return tmp; } int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%d",&mp[i][j]); Modify(i,j,mp[i][j],1); } scanf("%d",&q); for(int i=1;i<=q;i++) { int o,x1,y1,x2,y2,c; scanf("%d",&o); if(o==1) { scanf("%d%d%d",&x1,&y1,&c); Modify(x1,y1,mp[x1][y1],-1); Modify(x1,y1,c,1); mp[x1][y1]=c; } else { scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&c); printf("%d\n",Query(x2,y2,c)-Query(x1-1,y2,c)-Query(x2,y1-1,c)+Query(x1-1,y1-1,c)); } } }
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。