HDU 3584 三维树状数组
三维树状数组模版。优化不动了。
- #include <set>
- #include <map>
- #include <stack>
- #include <cmath>
- #include <queue>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <iomanip>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define Max 2505
- #define FI first
- #define SE second
- #define ll long long
- #define PI acos(-1.0)
- #define inf 0x3fffffff
- #define LL(x) ( x << 1 )
- #define bug puts("here")
- #define PII pair<int,int>
- #define RR(x) ( x << 1 | 1 )
- #define mp(a,b) make_pair(a,b)
- #define mem(a,b) memset(a,b,sizeof(a))
- #define REP(i,s,t) for( int i = ( s ) ; i <= ( t ) ; ++ i )
- using namespace std;
- int n , m ;
- int c[101][101][101] ;
- inline void RD(int &ret) {
- char c;
- do {
- c = getchar();
- } while(c < '0' || c > '9') ;
- ret = c - '0';
- while((c=getchar()) >= '0' && c <= '9')
- ret = ret * 10 + ( c - '0' );
- }
- inline void OT(int a) {
- if(a >= 10)OT(a / 10) ;
- putchar(a % 10 + '0') ;
- }
- void update(int x , int y ,int z) {
- for (int i = x ; i <= n ; i += i & (-i) )
- for (int j = y ; j <= n ; j += j & (-j))
- for (int k = z ; k <= n ; k += k & (-k))
- c[i][j][k] ++ ;
- }
- bool query(int x ,int y,int z) {
- int ans = 0 ;
- for (int i = x ; i >= 1 ; i -= i & (-i))
- for (int j = y ; j >=1 ; j -= j & (-j))
- for (int k = z ; k >= 1 ; k -= k & (-k))
- ans += c[i][j][k] ;
- return ans & 1 ;
- }
- void init() {
- for (int i = 0 ; i <= n ; i ++ )
- for (int j = 0 ; j <= n ; j ++ )
- for (int k = 0 ; k <= n ; k ++ )
- c[i][j][k] = 0 ;
- }
- int main() {
- int x , y , z ;
- int xx , yy , zz ;
- int op ;
- while(scanf("%d%d",&n,&m) == 2) {
- while(m -- ) {
- RD(op) ;
- if(op & 1) {
- RD(x) ;RD(y) ;RD(z) ;
- RD(xx) ;RD(yy) ;RD(zz) ;
- update(x , y , z ) ;
- update(xx + 1 , y , z ) ;
- update(xx + 1 , yy + 1 , z ) ;
- update(xx + 1 , yy + 1 , zz + 1 ) ;
- update(xx + 1 , y , zz + 1 ) ;
- update(x , y , zz + 1 ) ;
- update(x , yy + 1 , zz + 1 ) ;
- update(x , yy + 1 , z ) ;
- } else {
- RD(x) ;RD(y) ;RD(z) ;
- OT(query(x , y , z)) ;
- putchar('\n') ;
- }
- }
- init() ;
- }
- return 0 ;
- }
HDU 3584 三维树状数组的更多相关文章
- HDU 3584 Cube 【 三维树状数组 】
题意:还是那篇论文里面讲到的,三维树状数组http://wenku.baidu.com/view/1e51750abb68a98271fefaa8画个立方体出来对照一下好想一点 #include< ...
- HDU 3584 Cube (三维树状数组)
Problem Description Given an N*N*N cube A, whose elements are either 0 or 1. A[i, j, k] means the nu ...
- 1470. UFOs(三维树状数组)
1470 最简单的三维树状数组 #include <iostream> #include<cstdio> #include<cstring> #include< ...
- 暴力三维树状数组求曼哈顿距离求最值——牛客多校第八场D
涉及的知识点挺多,但是大多是套路 1.求曼哈顿距离的最值一般对所有情况进行讨论 2.三维树状数组用来求前缀最大值 /* 有一个三维坐标系(x,y,z),取值范围为[1,n],[1,m],[1,h],有 ...
- HDU 3584 Cube --三维树状数组
题意:给一个三维数组n*n*n,初始都为0,每次有两个操作: 1. 翻转(x1,y1,z1) -> (x2,y2,z2) 0. 查询A[x][y][z] (A为该数组) 解法:树状数组维护操作次 ...
- HDU 2689Sort it 树状数组 逆序对
Sort it Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- HDU 2838 (DP+树状数组维护带权排序)
Reference: http://blog.csdn.net/me4546/article/details/6333225 题目链接: http://acm.hdu.edu.cn/showprobl ...
- hdu 4046 Panda 树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4046 When I wrote down this letter, you may have been ...
- hdu 5497 Inversion 树状数组 逆序对,单点修改
Inversion Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5497 ...
随机推荐
- django-extensions
命令行: admin后台管理扩展 后面会出现个放大镜实现搜索补齐功能. 交互式的 Python Shells(shell_plus) 实现自动导入 如果遇到apps中包含的的models名字出现冲突, ...
- Week11(11月21日)
Part I:提问 =========================== 1.如何编辑更新一条记录? Part II:案例学习 =========================== MusicSt ...
- QSplashScreen无法背景透明的解决办法(强制StyleSheet生效)
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::SplashScreen | Qt::FramelessWindowHint); setAttribute( ...
- Flask web开发 请求拦截和预处理
我们在开发WEB应用时,往往会需要对所有的url请求进行拦截,做些预处理,比如权限处理.日志等统一处理. 本文介绍一下Flask中的处理机制.我们通过一个简单的例子来说明. 1.编写一个简单应用 ru ...
- 作业还是作孽?——Leo鉴书79
中国孩子,尤其是城市孩子课业过重是个不争的事实.儿子上幼儿园的作业已经能做到8点多了,上小学之后不知道是不是会整得更晚.于是入手这本<家庭作业的迷思>,认真读读.请特别注意,不要买书叫&q ...
- Linux内核源代码解析之——我与神童聊Linux内核
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/11619609 我的朋友里,至少有2.5个神童. 有的 ...
- AOP编程
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 百度网盘自动上传脚本-bpcs_uploader
安装jsonpear install pecl/json 一.bpcs_uploader下载和使用: 1.下载地址:http://oott123.github.com/bpcs_uploader/ 2 ...
- nginx 解决400 bad request 的方法
nginx的400错误比较难查找原因,因为此错误并不是每次都会出现的,另外,出现错误的时候,通常在浏览器和日志里看不到任何有关提示. 经长时间观察和大量试验查明,此乃request header过大所 ...
- 初始WebApi 利用WebApi实现基础的CRUD
微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService.它是简单,代码 ...