离散化和切割【信息技术】.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
离散化和切割 刘汝佳 圆的并面积 两种基本方法 离散化方法 切割法 竖直离散化方法 考虑竖直离散化(交点和竖切线)则每个长条内为曲边梯形的并, 可以用扫描法求区间并 竖直条内的情况 每个圆和竖直条的相交部分由若干不相交的曲边梯形组成, 称为一个连通块. 注意每个连通块的上弧和下弧可能不是同一个圆贡献出来的 求各连通块 每个与竖直条切割的圆都被切出了一条上弧和一条下弧, 所有这些弧都是不相交的 把它们从上到下排序(按左右端点为主次关键字即可), 然后从上到下扫描 初始level为0, 见上弧就加1, 见下弧就减1, 好比处理括号一样 level第一次从0边1的时候意味着发现新连通快, 记录此上弧为上边界; level第一次从1变为0时意味着连通块结束, 计算面积 时间复杂度 求交点: O(n2) 离散化: O(n2logn) 每个竖直条内 求所有圆被切割的上下弧: O(n) 给O(n)对上下弧排序: O(nlogn) 从上到下扫描/计算面积: O(n) 一共有O(n2)个竖直条,因此时间复杂度为O(n3logn), 实际上远没有这么大 切割法 另一种直观的方法 忽略相交部分的轮廓 有的交点没用上 另一些交点相互连接 关键: 求有用点 求弓形 求多边形 考虑单独每一个圆 每个圆被切割掉一些部分, 用有向弦把未覆盖部分连接起来, 构成弓形 弦的端点一定是圆的交点 每条有向弦恰好有一个后继弦 完整的算法 有向弦构成多个有向多边形, 逆时针为正, 顺时针为负 弓形面积和与有向多边形面积和即为所求 时间复杂度 处理每一个圆 计算其他圆覆盖它的区间: O(n) 排序并扫描得到各条有向弦: O(nlogn) 计算各个弓形总面积: O(n) 这一步的总时间是O(n2logn) 有向弦最多n2条, 计算有向多边形总面积为O(n2), 总时间复杂度为O(n2logn) * Level = 0 Level = 1 Level = 2 Level = 3 Level = 2 Level = 1 Level = 0 未覆盖 已覆盖 *

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档