题目链接:http://acdream.info/problem?pid=1197

题意:给出一些点。每次给出一个长方体,问在长方体中的点的个数。

思路:kd-tree。

const int N=111111;struct node
{int x[3];int L,R;
};node a[N];
int root,n,m;void insert(int u,int k,int d)
{d%=3;if(a[k].x[d]<a[u].x[d]){if(a[u].L==-1) a[u].L=k;else insert(a[u].L,k,d+1);}else{if(a[u].R==-1) a[u].R=k;else insert(a[u].R,k,d+1);}
}int p[3],q[3],ans;void cal(int u,int d)
{if(u==-1) return;int i;for(i=0;i<3;i++) if(a[u].x[i]<p[i]||a[u].x[i]>q[i]) break;if(i==3) ans++;d%=3;if(a[u].x[d]>=p[d]) cal(a[u].L,d+1);if(a[u].x[d]<=q[d]) cal(a[u].R,d+1);
}void deal()
{int i;for(i=1;i<=n;i++){a[i].L=a[i].R=-1;scanf("%d%d%d",&a[i].x[0],&a[i].x[1],&a[i].x[2]);if(i==1) root=i;else insert(root,i,0);}m=getInt();while(m--){for(i=0;i<3;i++) scanf("%d",&p[i]);for(i=0;i<3;i++) {scanf("%d",&q[i]);if(p[i]>q[i]) swap(p[i],q[i]);}ans=0;cal(root,0);printf("%d\n",ans);}
}int main()
{int num=0;while(scanf("%d",&n)!=-1){printf("Case #%d:\n",++num);deal();}
}

acdream1197 Points In Cuboid相关推荐

  1. aix么把占用的端口释放掉_AIX 环境下Telnet返回提示所有端口已经被占用,处理方法...

    Ubuntu环境变量(.profile)加载顺序 Ubuntu下启动的时候的的加载环境变量的过程大致为: /etc/enviroment /etc/profile -->/etc/bash.ba ...

  2. ArcGIS制图之Sub Points点抽稀

    简介 Sub Points工具是 Esri 中国自主开发的一个插件,该工具优先考虑点在空间分布上的均匀合理性,并结合点数据中包含的 "优先级" 属性进行筛选.通过获取每个点在一定范 ...

  3. R语言可视化分面图、假设检验分组t检验、可视化单变量分组分面箱图(faceting bar plot)、添加误差条(error bar)、添加p值、添加抖动数据点(jitter points)

    R语言可视化分面图.假设检验分组t检验.可视化单变量分组分面箱图(faceting bar plot).添加误差条(error bar).添加p值.添加抖动数据点(jitter points) 目录

  4. seaborn使用violinplot函数可视化小提琴图、使用stripplot函数添加抖动数据点(jittered points)、显示数据的稠密程度

    seaborn使用violinplot函数可视化小提琴图.使用stripplot函数添加抖动数据点.显示数据的稠密程度(Seaborn violinplot with data points usin ...

  5. seaborn可视化水平箱图并添加抖动数据点(Horizontal boxplot with jittered points in Python)

    seaborn可视化水平箱图并添加抖动数据点(Horizontal boxplot with jittered points in Python) 目录 seaborn可视化水平箱图并添加抖动数据点( ...

  6. R语言ggplot2可视化基本散点图(设置X轴使用对数坐标)、并把成对的数据点用线条(line)连接起来、自定义配置线条颜色(Connecting Paired Points with lines)

    R语言ggplot2可视化基本散点图(设置X轴使用对数坐标).并把成对的数据点用线条(line)连接起来.自定义配置线条颜色(Customizing Scatterplot Connecting Pa ...

  7. Matplotlib可视化散点图、配置X轴为对数坐标、并使用线条(line)连接散点图中的数据点(Simple Line Plot with Data points in Matplotlib)

    Matplotlib可视化散点图.配置X轴为对数坐标.并使用线条(line)连接散点图中的数据点(Simple Line Plot with Data points in Matplotlib) 目录

  8. R语言ggplot2可视化箱图、配置抖动数据点(jitter points)避免数据点互相覆盖、并使用线条(line)连接两个箱图中不同分组成对的数据点(jitter on Boxplots)

    R语言ggplot2可视化箱图.配置抖动数据点(jitter points)避免数据点互相覆盖.并使用线条(line)连接两个箱图中不同分组成对的数据点(Connecting Paired Point ...

  9. seaborn使用violinplot函数可视化小提琴图、使用swarmplot函数添加抖动数据点(jittered points)显示数据的稠密程度

    seaborn使用violinplot函数可视化小提琴图.使用swarmplot函数添加抖动数据点显示数据的稠密程度(Seaborn violinplot with data points using ...

最新文章

  1. 100行php代码实现加密端口转发
  2. python怎么引用已经输入的信息_如何将用户输入存储在python中,然后调用它?
  3. 如何在 SAP 电商云里设置 Time Restrictions
  4. html2image乱码问题,HtmlImageGenerator字体乱码问题解决、html2image放linux上乱码问题解决...
  5. 实体bean里面不要轻易加transient,反序列回来之后会变成null
  6. 案例:强制开库遭遇ORA-16433的处理过程
  7. cmd炫酷代码_基本操作!在VS 代码中如何使用Jupyter Notebook
  8. 附录-SpringFactoriesLoader
  9. 无代码开发到底是不是伪需求?
  10. wchar_t转为char*
  11. 抖音网红怎么赚钱了?通过一百行代码批量下载抖音视频!找到窍门!
  12. html的表格怎么设置样式,html 静态表格样式的设置
  13. n位整数去掉m位后求最大值问题
  14. 搜索算法——深度搜索
  15. 支持在线大数据SQL查询平台开源项目
  16. 浅析Volatility内存取证
  17. python之去掉字符串中空格的方法
  18. 解决为什么svn没有对号等符号的问题。
  19. 张艾迪(创始人):世界最高级文明信仰
  20. 工作中常用的linux命令

热门文章

  1. 2021年12月电子学会青少年软件编程(图形化)等级考试试卷(一级)答案解析
  2. Annotation-specified bean name 'brandController' for bean class [com.qingcheng.controller.goods.Bran
  3. windows 7 桌面IE图标不见了
  4. Vue浏览器图标修改不起作用
  5. 直播播放器API(播放器调用方法、参数、接口和事件)
  6. 2021-2027全球与中国呼吸道病原菌核酸检测试剂盒市场现状及未来发展趋势
  7. 配置管理--版本控制的目的
  8. linux系统应用学习(三)--- 动态库静态库
  9. ubuntu鼠标灵敏度、加速度修改
  10. 安装配置jdk--解压版