本题主要考察空间想象能力,同样注意下标

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
#define M 105
int map[M][M][M];
int lowbit(int x)
{return x&(-x);
}
void add(int x,int y,int z,int num)
{for(int i = x; i < M - 2; i+=lowbit(i))for(int j = y; j < M - 2; j+=lowbit(j))for(int r = z; r < M - 2; r+=lowbit(r))map[i][j][r] += num;
}
int getsum(int x,int y,int z)
{int res = 0;for(int i = x; i > 0; i-=lowbit(i))for(int j = y; j > 0; j-=lowbit(j))for(int r = z; r > 0; r-=lowbit(r))res += map[i][j][r];return res;
}
int main()
{int n,m,op;int x1,x2,y1,y2,z1,z2;while(~scanf("%d%d",&n,&m)){memset(map,0,sizeof(map));for(int i = 0; i < m; i++){scanf("%d",&op);if(op == 1){scanf("%d%d%d",&x1,&y1,&z1);scanf("%d%d%d",&x2,&y2,&z2);x1++,x2++,y1++,y2++,z1++,z2++;add(x1,y1,z1,1);add(x1,y2+1,z1,-1);add(x2+1,y1,z1,-1);add(x2+1,y2+1,z1,1);add(x1,y1,z2+1,-1);add(x1,y2+1,z2+1,1);add(x2+1,y1,z2+1,1);add(x2+1,y2+1,z2+1,-1);}else{int sum = 0;scanf("%d%d%d",&x1,&y1,&z1);sum = getsum(x1+1,y1+1,z1+1)&1;printf("%d\n",sum);}}}
}

hdu-Cube(三位树状数组)相关推荐

  1. 夜深人静写算法(三)- 树状数组

    目录   一.从图形学算法说起       1.Median Filter 概述       2.r pixel-Median Filter 算法 3.一维模型       4.数据结构的设计     ...

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

  3. hdu 4262 Juggler(树状数组)

    题意:某人手上有一串珠子,顺时针编号1--n,每次可进行三种操作:顺时针旋转一个珠子,逆时针旋转一个珠子,将手中的珠子移去(移去后顺时针方向下一个珠子进入手中),问按标号12345顺序将所有珠子逐一移 ...

  4. HDU ACM 4031 Attack (树状数组--单点查询+区间更新)

    http://acm.hdu.edu.cn/showproblem.php?pid=4031 用了树状数组的区间更新 单点查找(一般为单点更新 区间查找) 例如 区间(2,4)加1 则Updata(2 ...

  5. HDU 1556 前缀和 树状数组 线段树

    解法一: a[i]表示以 i作为起点,对 i-n的气球全部上色的次数  对(start,end)区间上色 ++a[start] --a[end+1]抵消掉 end+1-n的部分 问题转换为求 a的前缀 ...

  6. hdu 4125 Moles(kmp+树状数组)

    题目链接:hdu 4125 Moles 题意: 给你n个数,让你按键值建一个平衡二叉树,然后奇数为0,偶数为1,然后可以遍历这颗树得到一个欧拉序列,现在给你一个串,问你出现了几次. 题解: 建树的时候 ...

  7. CF869 E. The Untended Antiquity 二位树状数组+hash

    题意 一个地图,然后三种操作  1.一个矩阵四周加上障碍  2.一个矩阵四周的障碍消除  3.问你两个点之间是否纯在一条路径不经过障碍 题解 我们可以给每一个矩阵一个hash值  然后将矩阵里面的点都 ...

  8. HDU 3333HDU-3874 Necklace 离线树状数组

        这题是要求一段区间内的不重复的数字之和.我们通过对询问区间的右端点进行排序,然后记录每一数字的上一次的出现的位置,由于询问都是不回溯的那么就可以线性的更新了.      #include &l ...

  9. hdu 1892二维树状数组

    这题我知道是用树状数组,可是好久没打树状数组了,就想用普通方法水过去~~结果--结果--水了好多方法都水不过,出题人真狠呐--我的水方法是对于每一次查询,初始化ans=(x2-x1+1)*(y2-y1 ...

最新文章

  1. JAVA批量上传下载Excel_如何实现批量上传----------Java解析excel
  2. 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
  3. 文本框 清空_VBA代码中利用文本框,完成人机对话过程
  4. 全球及中国操纵杆控制系统行业应用动态与十四五形势分析报告2022版
  5. ConcurrentModificationException异常解决办法
  6. 上海电力大学c语言程序设计章测试,上海电力学院c语言报告:实验8 指针.doc
  7. .Net Framework学习的10个建议
  8. 计算机基础0018,自学考试计算机用基础 0018复习资料.doc
  9. docker与虚拟机性能比较
  10. 产品配置管理相关通知
  11. java反射机制原理详解
  12. java-php-python-ssm在线教学质量评价系统计算机毕业设计
  13. Keil--视力保护--背景设置
  14. 复数,实数,幂函数,指数函数
  15. 局域网内即时通信软件 ZSCQ -工作进度记录表
  16. 我可以抱你吗?linux
  17. 给找工作的同学一点参考
  18. 大牛教学 | 在51单片机上用C语言实现循环点亮8盏LED灯
  19. 领英精灵安全吗?附LinkedIn领英开发客户的关键点
  20. uni-app web-view调用谷歌地图

热门文章

  1. 兑吧:游戏化玩转用户运营的三驾马车
  2. 雷林鹏分享:PHP 数组
  3. SQL Server 2012 Managed Service Account
  4. 算法题解:最小编辑距离(动态规划算法)
  5. android trace文件分析ANR
  6. 整理了一下目前的专栏文章,基本可以完整解决普通问题了 - 知乎专栏
  7. vue的数组如何存储数据
  8. 个人分析美国电脑销售现状(网店)
  9. 医院管理制度【第一辑】2010年11月12日
  10. maxthon在浏览的页面上右键按住不动再按滚轮可以对打开的选项卡进行选择!