1 条题解

  • 1
    @ 2017-09-15 10:07:20

    思路:高斯消元

    挺简单的,就是说我们对于

    a1 x1 + b1 x2 + c1 x3 + …. = z1

    a2 x1 + b2 x2 +c2 x3 + …. = z2

    a3 x1 + b3 x3+ c3 x3 + …. = z3

    ………..

    an x1 + bn xn+ cn xn + …. = zn

    将之写为:

    | a1 b1 c1 ….. z1|

    | a2 b2 c2 ….. z2|

    | a3 b3 c3 ….. z3|

    ….

    | an bn cn ….. zn|

    的格式

    然后将之化为上三角矩阵。

    也就是说,先取第一行,

    把j (J ∈[2,n]) 行的数都减去aj/a1* p1 (p∈[a,z])

    然后第二行一样的处理

    因为在第一次进行完毕以后

    得到

    | a1 b1 c1 ….. z1|

    | 0 b2′ c2′ ….. z2’|

    | 0 b3′ c3′ ….. z3’|

    ….

    | 0 bn’ cn’ ….. zn’|

    显而易见 第二行。。。。第n行都可以一样的处理

    然后得到

    | a1 b1 c1 ….. z1|

    | 0 b2′ c2′ ….. z2’|

    | 0 0 c3′ ….. z3’|

    ….

    | 0 0 0 ….pn ….. zn’|

    即最后一行有一个 pn xn = zn

    然后直接得到xn,然后他的上一行肯定是 pn-1 xn-1 + pn xn = zn-1

    然后回带得到xn-1 …..继续操作就可以的到了x 1 – n

    那么 我们此时的矩阵就是

    | a1 0 0 ….. z1|

    | 0 b2′ 0 ….. z2’|

    | 0 0 c3′ ….. z3’|

    ….

    | 0 0 0 …. pn ….. zn’|

    这就是高斯消元,搞定

    这个其实我会,就是想写一些记录,因为之前做这道题看了看,就知道是高斯消元,但是代码忘得差不多了。

    就重新开个坑。

    继续分析题目:
    我们知道一个2维圆的圆心肯定是到每个点距离相等,三维也是到每个点距离相等,那么k维圆心也肯定到每个点的距离相等。

    我们设圆心坐标为(x,y,z,w…..e);

    有 (x – x1)^2 + (y – y1)^2 +(z – z1)^2 + ….. + (e – e1)^2 = (x – x2)^2 + (y – y2)^2 +(z – z2)^2 + ….. + (e – e2)^2

    化简得到:

    -2×1 x – 2y1 x -2z1 x -…… – 2e1 x + x1^2 + y1^2 + z1^2 + …. + e1^2 = -2 x2 x – 2 y2 x -2 z2 x -…… – 2e2 x + x2^2 + y2^2 + z2^2 + …. + e2^2

    移项得到:

    (x2 – x1) x + (y2 – y1) y + ….. + (e2 – e1) e = (x2^2 – x1^2+ y2^2- y1^2 + z2^2 – z1^2 + …. + e2^2 – e1^2) /2

    继续对于每个点对于他下一位列一次。

    然后直接套高斯消元,没了
    蒟蒻的代码

  • 1

信息

难度
7
分类
(无)
标签
递交数
99
已通过
18
通过率
18%
上传者