HDU3584 Cube

题解:

三维IUPQ裸题,

画图分析一下就行了

代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<map>
#include<set>
using namespace std;
#define pb push_back
#define mp make_pair
#define se second
#define fs first
#define LL long long
#define CLR(x) memset(x,0,sizeof x)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
typedef pair<int,int> P;
const double eps=1e-9;
const int maxn=20100;
const int N=110;
const int mod=1e9+7;
const int INF=1e9;

int a[N][N][N];

int lowbit(int x){return x&-x;}

void add(int x,int y,int z,int v){
   for(int i=x;i<N;i+=lowbit(i))
   for(int j=y;j<N;j+=lowbit(j))
   for(int k=z;k<N;k+=lowbit(k))
   a[i][j][k]+=v;
}

int sum(int x,int y,int z){
    int cnt=0;
   for(int i=x;i;i-=lowbit(i))
   for(int j=y;j;j-=lowbit(j))
   for(int k=z;k;k-=lowbit(k))
    cnt+=a[i][j][k];
    return cnt;
}

int main(){
    int n,m;
    while(~scanf("%d%d",&n,&m)){
    CLR(a);
    for(int i=1;i<=m;i++){
        int op;
        scanf("%d",&op);
        int x1,y1,z1,x2,y2,z2;
        if(op==1){
            scanf("%d%d%d%d%d%d",&x1,&y1,&z1,&x2,&y2,&z2);
            add(x1,y1,z1,1);
            add(x1,y1,z2+1,-1);
            add(x1,y2+1,z1,-1);
            add(x2+1,y1,z1,-1);
            add(x2+1,y2+1,z2+1,-1);
            add(x2+1,y2+1,z1,1);
            add(x2+1,y1,z2+1,1);
            add(x1,y2+1,z2+1,1);
        }
        if(op==0){
            scanf("%d%d%d",&x1,&y1,&z1);
            int ans=sum(x1,y1,z1);
            //cout<<ans<<endl;
            printf("%d\n",ans&1);
        }
    }
   }
    return 0;
}
时间: 2024-10-05 05:58:25

HDU3584 Cube的相关文章

HDU3584 Cube【树状数组】【三维】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3584 题目大意: 给定一个N*N*N多维数据集A,其元素是0或是1.A[i,j,k]表示集合中第 i 行,第 j 列与第 k 层的值. 首先由A[i,j,k] = 0(1 <= i,j,k <= N). 给定两个操作: 1:改变A[i,j,k]为!A[i,j,k]. 2:查询A[i,j,k]的值. 思路: 三维树状数组区间更新.单点查询.更新区间(a,b)时,在 a 和 b+1 处都加1,前边表

MDX跨cube查询——lookupcube

关于SSAS中从多个cube中查询数据 前提:涉及的cube在同一数据库中,维度共享(最好) SSAS中提供一条mdx语句同时从多个cube中查询数据的功能 实现该功能的就是lookupcube函数,当然前提是这两个cube在同一个数据库中,共享维度(不是共享维度能不能查还没有试验过) lookupcube函数的语法如下: LookupCube(Cube_Name, Numeric_Expression ) LookupCube(Cube_Name, String_Expression ) 其中

poj1988 Cube Stacking(并查集

题目地址:http://poj.org/problem?id=1988 题意:共n个数,p个操作.输入p.有两个操作M和C.M x y表示把x所在的栈放到y所在的栈上(比如M 2 6:[2 4]放到[1 6]上为[2 4 1 6]),C x为输出x下面有几个数. 思路:并查集每个集合以栈最下面的数为根,维护两个数组num[x]表示x所在集合节点总数,count[x]表示x下方节点个数.每次查找压缩路径的时候更新count(换父节点的时候每轮都把父节点的count加给儿子,就可以一直更新到x所在栈

D - MUH and Cube Walls

D. MUH and Cube Walls Polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant Horace from the zoo of Kiev got hold of lots of wooden cubes somewhere. They started making cube towers by placing the cubes one on top of the other. T

【总结】Kylin创建Cube

根据上篇文章Kylin创建Model之后,创建Cube 第一步,Cube Info 填写Cube基本信息 第二步,Dimensions 第三步,Measures 第四步,Refresh Setting Auto Merge Thresholds :自动合并阈值,按天增加的segement,每7天合并一次:7天的segment每28天合并一次 Retention Threshold:默认为0,保留历史所有的segment(hotelinfo每个分区都是全量数据,所以此处只保留一天的数据) Part

saiku - 登陆/选择cube 时发生了什么

一 登陆saiku时发生了什么 大致流程 saiku 默认有admin和两个开发人员的身份 登陆saiku时,后台用户认证成功后创建了用户信息session 并在session中存储了随机生成的一个sessionId 这是每个用户对应唯一的一个身份id 然后访问 /saiku/rest/saiku/session - GET 接口 获取存储的sessionId 如果获取到了sessionId 就开始构建saiku首页了/saiku/rest/saiku/用户账号/discover 详细流程 访问

Project Euler:Problem 90 Cube digit pairs

Each of the six faces on a cube has a different digit (0 to 9) written on it; the same is done to a second cube. By placing the two cubes side-by-side in different positions we can form a variety of 2-digit numbers. For example, the square number 64

分别修改Cube每个面的贴图UV(Unity3D开发之十八)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46611169 今天项目中需要修改一个Cube中每个面的贴图UV,也就是贴图中有多个矩形贴图,需要程序从贴图中读取一部分赋值给Cube每个面. 这里已经有人实现了. CustomUVS.cs using UnityEngine; using System.Collections; [ExecuteInEditMo

Unity上机题—鼠标点击cube变色

题目是这样的,3个cube就分别叫a  b c 吧,如图 鼠标点中其中一个变色,如点中a,其变蓝,然后点中另一个后另一个变蓝,上一个点中的物体,恢复原来颜色, 我写的代码如下:其中我用了goto,虽然实现了,但是感觉不好,有人说用递归做,求指点 using UnityEngine; using System.Collections; public class MyScript : MonoBehaviour { private Color TempColor;//存物体颜色 private Ga