C95 二维树状数组+差分 CF341D Iahub and Xors
视频链接:C95 二维树状数组+差分 CF341D Iahub and Xors_哔哩哔哩_bilibili
// 二维树状数组+差分 O(mlognlogn) #include <iostream> #include <cstring> #include <algorithm> using namespace std; #define LL long long #define lowb(x) x&-x int n,m; int op,a,b,c,d; LL v,ans; LL s[1001][1001][2][2]; //4个二维树状数组 void change(int x,int y,LL v){ //向后修 for(int i=x;i<=n;i+=lowb(i)) for(int j=y;j<=n;j+=lowb(j)) s[i][j][x&1][y&1]^=v; } LL query(int x,int y){ //向前查 LL t=0; for(int i=x;i;i-=lowb(i)) for(int j=y;j;j-=lowb(j)) t^=s[i][j][x&1][y&1]; return t; } int main(){ scanf("%d%d",&n,&m); while(m--){ scanf("%d%d%d%d%d",&op,&a,&b,&c,&d); if(op==2){ //修改: 差分 scanf("%lld",&v); change(a,b,v); change(a,d+1,v); change(c+1,b,v); change(c+1,d+1,v); } else{ //查询: 区间异或和 ans=query(c,d)^query(c,b-1) ^query(a-1,d)^query(a-1,b-1); printf("%lld\n",ans); } } }
分类:
C 数据结构
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!