zoukankan      html  css  js  c++  java
  • 最小圆覆盖(洛谷 P1742 增量法)

    题意:给定N个点,求最小圆覆盖的圆心喝半径。保留10位小数点。 N<1e5;

    思路:因为精度要求较高,而且N比较大,所以三分套三分的复杂度耶比较高,而且容易出错。 然是写下增量法吧。

    伪代码加深记忆:

    圆 C;
    for(i=1 to n)
    {
        if(P[i] 不在 C 内)
        {
            C = {P[i], 0};
            for(j=1 to i-1)
            {
                if(P[j] 不在 C 内)
                {
                    C = {0.5*(P[i]+P[j]), 0.5*dist(P[i], P[j])};
                    for(k=1 to j-1)
                    {
                        if(P[k] 不在 C 内)
                        {
                            C = 外接圆(P[i], P[j], P[k]);
                        }
                    }
                }
            }
        }
    }

    那么代码的核心就是三点求外接圆

    三点求外接圆: 两边求中垂线交点。

  • 相关阅读:
    继承与多态
    本周总结
    总结
    周总结
    周总结
    第三周总结
    .......
    .....
    ....
    ....
  • 原文地址:https://www.cnblogs.com/hua-dong/p/11189619.html
Copyright © 2011-2022 走看看