三维树状数组模版。优化不动了。

#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 三维树状数组相关推荐

  1. 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 ...

  2. HDU 6681(树状数组统计平面内射线的交点个数)

    HDU 6681(树状数组,统计平面内射线的交点个数) 题目链接:传送门 题意:给出k条射线,求射线将n∗mn*mn∗m 的区域分成几个联通块.每两条射线的端点x坐标和y坐标都互不相同. 思路:根据 ...

  3. hdu 5497 Inversion(树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5497 解题思路: 用树状数组维护一段区间L,区间长度为m,依次枚举该区间的终点ai,即将该点加入到区间 ...

  4. C - Group HDU - 4638[离线+树状数组]

    感觉比较抽象:举个例子:a[] = {3 1 2 5 4} 树状数组里面:1,1,-1,1,-1 sum(2):就是[1,2]区间能分成多少个连续的段:1和3 sum(3):1 2 3是一段 如果是询 ...

  5. HDU 4638 Group 树状数组 + 思路

    实际上就是问这个区间编号连续的段的个数,假如一个编号连续的段有(a+b)个人,我把他们分在同一组能得到的分值为(a+b)^2,而把他们分成人数为a和b的两组的话,得到的分值就是a^2+b^2,显然(a ...

  6. hdu 5542(树状数组优化dp)

    题意: 求n个数中长度为m的上升子序列的个数 解题思路:dp[i][j]表示第i个数长度为j的上升序列的个数.dp[i][j] = sum{dp[k][j-1] | a[k] < a[i]},这 ...

  7. HDU 4325 离散化+树状数组 或者 不使用树状数组

    题意:给出一些花的开放时间段,然后询问某个时间点有几朵花正在开放. 由于ti<1e9,我们需要先将时间离散化,然后将时间点抽象为一个数组中的点,显然,我们需要进行区间更新和单点查询,可以考虑线段 ...

  8. Billboard HDU - 2795(树状数组,单点修改,区间查询)

    题目链接:https://vjudge.net/problem/HDU-2795 思路:h = 1e9行不通,因为广告是1*w的,所以n个广告最多只需要 h = n的高度,那么h=2e5就可以接受了. ...

  9. HDU 4125 Moles 树状数组 + KMP

    这题的重点就在于建树, 题目读懂以后, 就会发现, 树建好以后就是一颗排序二叉树. 于是每次用树状数组二分找该节点的插入点. 树建完以后DFS得到字符串, 由于节点非常多, 于是要手写栈. 字符串得到 ...

最新文章

  1. 《小团团团队》第五次作业:项目需求分析改进与系统设计
  2. C# 窗体位置 Show和ShowDialog (转载)
  3. 程序员和产品经理的恩怨情仇 | 每日趣闻
  4. java base64 压缩_在线等(急)Base64(带压缩)出问题
  5. endnote咋手动输入文献_EndNote 如何在 Word 中手动输入引文
  6. Java提高篇 —— Java浅拷贝和深拷贝
  7. CentOS6.0 yum php mcrypt 扩展安装问题
  8. 深度剖析:Redis 分布式锁到底安全吗?看完这篇文章彻底懂了!
  9. 如何查看SQL Server2000执行过的SQL语句
  10. 浅谈API测试与UI Auomation一点心得
  11. qt 的进程间共享内存 QSharedMemory
  12. mysql 2037年,正确的方法来存储2037年之后的MySQL日期
  13. ethtool 开启网卡_技术|如何使用 ethtool 命令管理以太网卡
  14. 以太网没有有效IP配置问题
  15. Linkflow新锐洞察 06 | DTC品牌如何快速规模化?
  16. 2019年深度学习自然语言处理最新十大发展趋势
  17. C numi和弓道 双指针(2020牛客寒假基础训练营1 )
  18. 食品加工企业自营商城小程序开发,帮助企业增加销售渠道,提高销量
  19. 系统分析师-2022年上半年必考知识点
  20. 【KEIL-MDK】系列——主题配色

热门文章

  1. Codeforces Gym 100338H High Speed Trains 组合数学+dp+高精度
  2. android sdkversion
  3. HDU-1671 Phone List 暴力版 + 字典树
  4. [Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误
  5. CSS3实现垂直居中
  6. JAVA学习笔记-this隐式参数
  7. C#程序通过模板自动创建Word文档.doc
  8. android sdk 帮助文档下载地址
  9. ref out的用法
  10. 微软.net framework工具集帮助