• 计算几何题(×)


    题面

    给定 (n) 条直线,直线的交点的 (x) 轴坐标两两不相同,求从左往右排的第 (k) 个交点的 (x) 轴坐标(精确到小数点后六位)。

    题解

    这题乍一看是道计算几何题,实际上这题和计算几何并没有什么关系。(雾)
    考虑一条 (x = -∞) 的竖线。很显然,(n) 条直线和这条竖线的交点的交点的顺序,与这 (n) 条直线的斜率的顺序是相反的。
    (类似的,(x = +∞) 的竖线与 (n) 条直线的交点的顺序与斜率的顺序是相同的。)
    (x = -∞) 的竖线与 (n) 条直线的交点的顺序视为正序,可知 (x = +∞)(frac{n * (n - 1)}{2}) 个逆序对。
    设竖线 (l) 的初始位置为 (x = -∞) ,将 (l) 向右挪,则每经过一个直线与直线的交点,直线的逆序对数就会 (+1)
    故可以二分直线的位置,每次 (check) 时,(O (n log n)) 求该竖线与 (n) 条直线的交点的逆序对,即可简单求出该竖线左侧有多少交点。

  • 相关阅读:
    安卓中期小作业
    安卓大作业UI预定搞
    实验3
    实验一总结
    实验8 SQLite数据库操作
    实验6 在应用程序中播放音频和视频
    实验4 颜色、字符串资源的使用
    实验四
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/HarryHuang2004/p/14070113.html
Copyright © 2020-2023  润新知