• 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)


    题目

    传送门:QWQ

    分析

    高斯消元就是个大暴力。。。。

    代码

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 105;
    const double eps = 1e-7;
    int n;
    double a[maxn][maxn], b[maxn][maxn] ,c[maxn];
    double sqr(double a) {return a*a;}
    void Gauss() {
        int n; scanf("%d",&n);
        for(int i=1;i<=n+1;i++)
            for(int j=1;j<=n;j++)
                scanf("%lf",&a[i][j]);
        for(int i=1;i<=n;i++) {
            for(int j=1;j<=n;j++) {
                b[i][j] = 2* (a[i][j] - a[i+1][j]);
                c[i] += sqr(a[i][j]) - sqr(a[i+1][j]);
            }
        }
        for(int i=1;i<=n;i++) {
            for(int j=i;j<=n;j++) {
                if(fabs(b[i][j]) > eps) {
                    for(int k=1;k<=n;k++) swap(b[i][k], b[j][k]);
                    swap(c[i],c[j]);
                }
            }
            for(int j=1;j<=n;j++) {
                if(j==i) continue;
                double rate = b[j][i] / b[i][i];
                for(int k=1;k<=n;k++) {
                    b[j][k] -= b[i][k] *rate; 
                }
                c[j] -= c[i] * rate;
            }
        }
        for(int i=1;i<n;i++) printf("%.3f ",c[i] / b[i][i]);
        printf("%.3f
    ",c[n]/b[n][n]);
    }
    int main() {
        Gauss();
    }
  • 相关阅读:
    数据放在服务端和客户端的利与弊
    python异步I/O并发
    view
    mysql千万或者上亿的数据怎么设计数据库
    Django(一)
    JQuery
    BOM与DOM
    JavaScript
    CSS(二)
    CSS介绍
  • 原文地址:https://www.cnblogs.com/noblex/p/9741292.html
Copyright © 2020-2023  润新知