1 / 23

IOI2010 国家集训队论文问题解析 ——

IOI2010 国家集训队论文问题解析 ——. 大灾变. 河南省实验中学 郭家宝. 问题回顾. 有一座山脉,要求在山脉上建立一座瞭望塔,在山脉上空建立一个浮空岛,使得站在瞭望塔的顶端和浮空岛上,可以看到整个山脉。 瞭望塔塔身高度应尽量小,浮空岛的绝对海拔应尽量低,并且在满足上述条件的情况下横坐标尽量小。请你求出瞭望塔和浮空岛的坐标。. 问题回顾. 样例如下图所示. 瞭望塔. 浮空岛. 海平面. 初步分析. 题目要求看到整个山脉,就是看到所有的山坡。 首先考虑绝对高度最低点。 从一个较低高度开始垂直上升,直到看见整个山脉。. 欲窮千里目 更上一層樓.

dinh
Download Presentation

IOI2010 国家集训队论文问题解析 ——

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IOI2010国家集训队论文问题解析—— 大灾变 河南省实验中学 郭家宝

  2. 问题回顾 • 有一座山脉,要求在山脉上建立一座瞭望塔,在山脉上空建立一个浮空岛,使得站在瞭望塔的顶端和浮空岛上,可以看到整个山脉。 • 瞭望塔塔身高度应尽量小,浮空岛的绝对海拔应尽量低,并且在满足上述条件的情况下横坐标尽量小。请你求出瞭望塔和浮空岛的坐标。

  3. 问题回顾 • 样例如下图所示 瞭望塔 浮空岛 海平面

  4. 初步分析 • 题目要求看到整个山脉,就是看到所有的山坡。 • 首先考虑绝对高度最低点。 • 从一个较低高度开始垂直上升,直到看见整个山脉。 欲窮千里目 更上一層樓

  5. 初步分析 • 站得越高,看得越远。 • 从低处向高处走,可视范围增加。 • 单调性。 行遠必自邇 登高必自卑

  6. 算法甲 ——登高必自卑 • 二分枚举高度,判断当前高度上是否可以一览全貌。 • 如果存在,降低高度,如果不存在,升高高度。 • 如何判断?

  7. 算法甲 ——登高必自卑 可行区域 试探高度 海平面

  8. 算法甲分析 ——登高必自卑 • 时间复杂度O(NlogE)。 • 这种方法求出的位置,是绝对高度最小的位置。可以求相对高度最小的位置吗?

  9. 再次分析 • 猜想:瞭望塔一定建在山峰上。 • 反例:

  10. 再次分析 • 猜想:瞭望塔一定在浮空岛周围的同一山峰的山坡上(距离不远)。 • 反例: 瞭望塔 浮空岛

  11. 重新思考 • 一个山坡只能在山坡线的一侧被看到。 • 所有山坡可视区域的公共部分,就是整个山脉的可视区域。 • 接下来只需在可视区域内查找相对高度和绝对高度的最小的点了。 不識廬山眞面目 祇緣身在此山中

  12. 算法乙 ——一覽眾山小 • 求所有半平面的交集。 • 可视区域就是“上方未封口的凸多边形”,抽象为分段函数。 • 扫描可视区域,求出相对高度和绝对高度最小的位置。 會當淩絕頂 一覽眾山小

  13. 算法乙 ——一覽眾山小 可视区域 海平面

  14. 算法乙分析 ——一覽眾山小 • 算法瓶颈:求半平面交。 • 时间复杂度:O(N^2)或O(NlogN)。 • 实现起来复杂。 • 还可以改进吗?

  15. 算法丙 ——刪繁就簡三秋樹 • 将直线按斜率排序,依次插入。 • 每次求交点,判断新插入的直线是否更优。 刪繁就簡三秋樹 領異標新二月花

  16. 算法丙 ——刪繁就簡三秋樹 p1 p2.x > p1.x p2

  17. 算法丙 ——刪繁就簡三秋樹 p2.x <= p1.x p2 p1

  18. 算法丙 ——刪繁就簡三秋樹

  19. 算法丙 ——刪繁就簡三秋樹 可视区域 海平面

  20. 算法丙分析 ——刪繁就簡三秋樹 • 时间复杂度:O(NlogN) • 特殊问题用特殊方法解决。 恢恢乎 其於遊刃必有餘地矣

  21. 总结 ——爲有源頭活水來 • 优化无止境,有O(N)的算法嗎? • 思考无止境,还有别的思路吗? • 学习无止境,还能学到别的知识吗? 問渠那得清如許 爲有源頭活水來

  22. 试题考查点 • 计算几何基本知识 • 二分思想 • 半平面交 • 单调性的应用 • 分段一次函数求最值

  23. 路曼曼其修遠兮 吾將上下而求索 感谢大家 郭家宝 byvoid1[at]gmail.com

More Related