Codeforces D. Iahub and Xors
2024-08-30 12:23:46
题目大意:给定一个N*N的区间,1:对(x0,y0,x1,y1)每个直 都xor v;
2: 求(x0,y0,x1,y1)区间的 sum xor;
http://codeforces.com/blog/entry/8755
算得上经典题:
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<vector>
#include<string.h>
#include<string>
#include<set>
#include<map>
#include<iostream>
#include<set> using namespace std;
typedef long long ll;
int n; ll c[][][][]; ll query(int x,int y)
{
ll ret=;
for (int i=x;i>;i-=i&-i)
for (int j=y;j>;j-=j&-j)
ret^=c[x&][y&][i][j];
return ret;
} void update(int x,int y,ll v)
{
for (int i=x;i<=n;i+=i&-i)
for (int j=y;j<=n;j+=j&-j)
c[x&][y&][i][j]^=v;
} int main()
{
int m,x,y,xx,yy,op;
ll v;
scanf("%d%d",&n,&m);
while (m--)
{
scanf("%d%d%d%d%d",&op,&x,&y,&xx,&yy);
if (op==)
{
x--;
y--;
printf("%I64d\n",query(x,y)^query(x,yy)^query(xx,y)^query(xx,yy));
}
else
{
scanf("%I64d",&v);
xx++;
yy++;
update(x,y,v);
update(xx,yy,v);
update(x,yy,v);
update(xx,y,v);
}
}
return ;
}
最新文章
- js最详细的基础,jquery 插件最全的教材
- XE版本 InputQuery 可以同时填多个输入值
- 浮动【电梯】或【回到顶部】小插件:iElevator.js
- HTML--10Jquery
- spark transformation与action操作函数
- 【iOS-Cocos2d游戏开发之四】独自收集Cocos2d提供的字体!共57种(有对照的字体图)
- FileReader乱码
- PowerShell 中使用json对象的性能比较
- 《转》Frameset布局
- mysqldump报错
- myeclipse2014安装aptana3.4.0插件
- HDU4474
- 一篇搞定Python正则表达式
- OpenGL shader渲染贴图
- 第一行代码阅读笔记---AndroidMainfest.xml分析
- html5-表单的综合实例
- Android Studio 使用入门
- stl源码剖析 详细学习笔记 算法(5)
- 安卓程序代写 网上程序代写[原]Android开发技巧--Application
- CoreImage