- 5
- 0
- 约2.47千字
- 约 19页
- 2018-12-20 发布于北京
- 举报
长方体的体积并 金陵中学 陆可昱 矩形 平面中n个矩形的面积并的计算 方法: 离散 扫描法 线段树 离散 离散点 矩形各边(或其延长线)与坐标轴的交点 离散单位段 离散点有序化后相邻两个离散点之间的距离 扫描法 把平面分割成条,在每个条中环境变成一维的 每一个给定的条的截面都可表现为其相邻两个条截面中任意一个小的修改 线段树 二叉树 每个结点表示一区间[a,b] b-a1: c=(a+b) div 2 [a,c]及[c,d] 长方体 三维空间中n个长方体的体积并的计算 方法: 离散 扫描法 存储平面 二重二叉树 存储平面 x轴二叉树 y轴二叉树 矩形的示意 标号 根结点为1 非叶子结点i 左子结点:2*i 右子结点:2*i+1 T[x1][y1]表示一个平面区间 x1:x轴二叉树 y1:y轴二叉树 插入及删除 C:记录T[x1][y1]的覆盖次数 最终达到的结点: 水平分量:Ax 垂直分量:Ay p∈Ax,q∈Ay:修改T[p][q].C 面积计算 M:记录T[x1][y1]中矩形的面积并 T[x1][y1].C0 T[x1][y1].C=0 AEIH+EBFI+IFCG+HIGD AEIH AEIH ABFH AEGD 修改面积 遇到的结点的标号: 水平分量:Sx 垂直分量:Sy p∈Sx,q∈Sy:修改T[p][q].M 深度较深的结点 标号大 时间复杂度 修改C:O(lg2n) 修改M: O(lg2n) 总的复杂度:O(n*lg2n) 拓展 方法: 离散 扫描法 存储块 d重二叉树 谢谢 如果将在插入矩形时,所有的在y轴二叉树中遇到的结点的标号用集合Sy存储,所有的在x轴二叉树中遇到的结点的标号用集合Sx存储。 计算一下时间复杂度。 在修改C时,由于Ay与Ax的个数都是(lg n)级的,所以在这一步的复杂度为O(lg2n)。 在修改M时,Sy与Sx的个数也是(lg n)级的,所以在这一步的复杂度也为O(lg2n)。 这样,每添加或删除一个矩形的时间复杂度为O(lg2n)。 在计算长方体体积并的时候,共要进行2n次的添加或删除。 这样解决长方体体积并问题的时间复杂度为O(n*lg2n)。 在解决了三维中的问题后,考虑一下如何解决d维中的问题。 基本的思路还是没有变:离散,分隔,扫描法,存储被分割的块。 同时,在提出的二重二叉树的基础上,也可构造出三重,四重乃至d重二叉树对三维,四维及d维空间进行存储。 当然随着d的不断增大,编程的复杂度也会不断的增大。 * * 大家好,我是南京市金陵中学的学生陆可昱。我这次的题目是求长方体的体积并。 在解决长方体体积并的问题前,先看一下解决矩形面积并时的方法: 先对平面进行离散化,同时将平面分割成条。而后在用扫描法对条进行扫描的同时,利用线段树存储条。从而得解。 下面进行简要的说明。 定义离散点为矩形各边(或其延长线)与坐标轴的交点,如右图的点A,B,C,D; 定义离散单位段为离散点有序化后相邻两个离散点之间的距离,如线段AB,BC,CD 。 在离散之后,可假设图中点A的y轴坐标为1,B为2,C为3,D为4。 如果把平面分割成条,则在每个条中环境变成一维的。 在右图中直线l1(单击鼠标),l2,l3,l4…将平面分成了条。 每一个给定的条(或块)的截面都可表现为其相邻两个条(或块)截面中任意一个小的修改。 图中条二(单击鼠标)的截面则可表现为条一(单击鼠标)的截面加上AB段,或条三(单击鼠标)的截面加上CD段。 线段树是一棵有根二叉树,树中的每一个结点表示了一个区间a,b。对于每个结点,若b与a的差大于1,设c等于a与b的和整除2的商,则此结点将有左子结点a,c,及右子结点c,b。 例如,(单击鼠标)区间1,4,先被分为(单击鼠标)区间1,2,及区间2,4。区间2,4又被分为(单击鼠标)区间2,3及区间3,4。 如同在平面中求n个矩形的面积并一样,求三维空间中n个长方体的体积并的基本思路也是先将空间离散化,而后对被分割的平面进行顺序扫描。不同的是,这次要储存的将是平面,而不是线段。 二重二叉树是一棵用于存储平面的树,它建立于线段树之上。 根据x轴上的区间,应用线段树的构造方式,建立x轴二叉树;同理建造y轴二叉树。 这样即可用x轴二叉树的结点与y轴二叉树的结点,来表示一个二维区间。 对于每个T[x1][y1]都添加一个参数C,用来记录这个区间的被矩形完全覆盖的次数。 在插入或删除一个矩形时, 将水平分量插入x轴二叉树,并用集合Ax存储所有最终达到的结点的标号。 相应的将矩形的垂直分量插入y轴二叉树,并用集合Ay存储所有最终达到的结点的标号。 对于所有的属于Ax的p,以及属于Ay的q,修改T[p][q]的C值 虽然存储二重二叉树的完善的动态形式是可能的,但是为了方便,现采用静态的数组
您可能关注的文档
- MATLAB遗传算法工具箱及应用.pdf
- Pólya原理及其应用.pdf
- 半平面交的算法及其应用.pdf
- 博弈算法与游戏策略.ppt
- 猜数问题的研究.ppt
- 常用神经网络原理及学习算法第二章.ppt
- 常用神经网络原理及学习算法第三节.ppt
- 常用神经网络原理及学习算法第三章.ppt
- 充分利用问题性质.ppt
- 等价关系与序关系.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 城轨制动系统维护与检修单元一 制动基础知识.ppt VIP
- 初中语文阅读理解答题技巧的整理汇总.pdf VIP
- 铁路基本建设工程设计概(预)算编制办法(TZJ-1001-2025)(国铁科法.docx VIP
- ISO9004质量管理体系业绩改进指南「完整版」.pdf VIP
- VW60307_2019.11中文版-超声波焊接电气线路.pdf VIP
- HY∕T 0359-2023 海洋经济活动单位清查技术规范.pdf
- 2026年汽车电子水泵项目市场调研报告.pptx VIP
- 2025新酒饮行业发展报告.pdf VIP
- SL288-2026《水利工程施工监理规范》.doc VIP
- 火星探测技术进展及未来发展展望.docx VIP
原创力文档

文档评论(0)