前言
传送门 :
思路观察题目之后,如果将矩阵看成一个 01 01 01矩阵,不难发现
其实最终答案 就是求 二维前缀和
只是对于每次操作都是 行列的 取反操作
想到前缀和我们就联想可以使用树状数组维护,
因此我么可以创立两个树状数组,从而进行维护区间的值
下面的操作就是二维前缀和的操作了
MyCodeconst int N = 1e5+10;
int Tx[N],Ty[N];
int n,m,q;
int stx[N],sty[N];
int lowbit(int x){
return x & -x;
}
void add(int * C,int x,int k){
for(int i = x; i >n>>m>>q;
for(int i = 1;i>op;
if(op == 1){
cin>>a>>b;
if(!stx[a]){
stx[a] = 1;
add(Tx,a,1);
}else{
stx[a] = 0 ;
add(Tx,a,-1);
}
if(!sty[b]){
sty[b] = 1;
add(Ty,b,1);
}else{
sty[b] = 0;
add(Ty,b,-1);
}
}else{
cin>>x1>>y1>>x2>>y2;
int s1 = query(Tx,x2) - query(Tx,x1-1);
int s2 = query(Ty,y2) - query(Ty,y1-1);
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?