HDU 3642 扫描线(立方体体积并)】的更多相关文章

Get The Treasury Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2190    Accepted Submission(s): 669 Problem Description Jack knows that there is a great underground treasury in a secret region…
Farming Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1375    Accepted Submission(s): 402 Problem Description You have a big farm, and you want to grow vegetables in it. You're too lazy to se…
pid=3642" style="">题目链接:hdu 3642 Get The Treasury 题目大意:三维坐标系,给定若干的长方体,问说有多少位置被覆盖3次以上. 解题思路:扫描线,将第三维分离出来,就是普通的二维扫描线,然后对于每一个节点要维护覆盖0,1,2.3以上这4种的覆盖面积. #include <cstdio> #include <cstring> #include <vector> #include <alg…
给出n个立方体,要你求这些立方体至少被覆盖三次的部分. 先把这个立方体的信息存在来,发现Z的范围不大,z范围是是[-500,500],所以我们可以先离散化,然后枚举Z, 然后对于每一段Z的区域内,在当前的区域内对xoy轴使用一次扫描线,找到当前这个区域内被覆盖三次的体积,然后每次枚举Z,每次相加,就是最后的答案. #include<map> #include<set> #include<ctime> #include<cmath> #include<s…
题意: ...就是求体积交... 解析: 把每一层z抽出来,计算面积交, 然后加起来即可..! 去看一下 二维面积交的代码 再看看这个三维面积交的代码.. down函数里 你发现了什么规律!!! 参考二维面积交:https://www.cnblogs.com/WTSRUVF/p/9274318.html 代码如下 #include <cstdio> #include <iostream> #include <cstring> #include <algorithm…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3642 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Jack knows that there is a great underground treasury in a secret region. And he has a special d…
参考链接 : http://blog.csdn.net/zxy_snow/article/details/6870127 题意:给你n个立方体,求覆盖三次以上(包括三次)的区域的体积 思路:先将z坐标离散后,然后一层一层地开始扫描,计算该层中覆盖>=3次的面积,这个就同二维扫描一样,然后再用面积乘以这层的高度,  即得到该层覆盖>=3次的体积,所有层的体积加起来,即为所求.  对于每一层,只有当该层区域在扫描的线的z1,z2范围中,才将该线条插入.  其它操作就同POJ 1151 Atlant…
题目大意: 给出N个立方体. 求一个三维空间中被包围三次的空间的体积之和. 思路分析: 发现Z的范围非常小.那么我们能够枚举Z轴,然后对 x y做扫描线. 并且不用枚举全部的Z ,仅仅须要将Z离散化之后枚举. #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #define maxn 2222 #define debug puts("fuck!…
http://www.cnblogs.com/kane0526/archive/2013/03/06/2947118.html 题目大意:给你n个立方体,求相交区域大于等于三次的体积和. 这题需要前面两题的知识 体积并 http://www.cnblogs.com/qlky/p/5759481.html 面积交: http://www.cnblogs.com/qlky/p/5765617.html 对于面积交,另外建立len2数组表示覆盖2次的面积,len3数组表示覆盖3次及以上的面积 对于体积…
题意:给你一些长方体,问你覆盖三次及以上的体积有多大 首先我们观察x轴y轴一样很大,但是z轴很小,所以我们可以枚举z轴(-500,500),注意我们枚举的是每一段长度为一的z轴的xy轴的面积而不是点.接着就是求在这一段内的矩形面积并的变形 注意我们要首先计算,再插入线段求面积并 #include<set> #include<map> #include<queue> #include<stack> #include<cmath> #include&…