bzoj1013 [JSOI2008]球形空间产生器sphere
来源:互联网 发布:nginx 绑定域名访问 编辑:程序博客网 时间:2024/06/08 08:43
题目
解一个多元二次方程组,不过方程组很有特点,前后一减就成多元一次的了,高斯消元上。
顺便贴个模板。
#include<bits/stdc++.h>#define N 50#define eps 1e-8using namespace std;int n;double A[N+1][N+1];double f[N+1][N+1];double x[N+1];void gauss(){ for(int i=1;i<=n;i++) { double mx=-1.0;int id; for(int j=i;j<=n;j++)if(fabs(f[i][j])>mx)mx=fabs(f[i][j]),id=j; if(id!=i)for(int j=1;j<=n+1;j++)swap(f[id][j],f[i][j]); double tmp=f[i][i]; for(int j=i+1;j<=n+1;j++)f[i][j]/=tmp; for(int j=1;j<=n;j++) { if(i==j)continue; double tmp=f[j][i]; for(int k=1;k<=n+1;k++)f[j][k]-=tmp*f[i][k]; } } for(int i=1;i<=n;i++)x[i]=f[i][n+1];}int main(){ //freopen("in.txt","r",stdin); 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++) { f[i][j]=2*(A[i+1][j]-A[i][j]); f[i][n+1]+=A[i+1][j]*A[i+1][j]-A[i][j]*A[i][j]; } } gauss(); for(int i=1;i<n;i++)printf("%.3f ",x[i]); printf("%.3f",x[n]); return 0;}
阅读全文
0 0
- 【BZOJ1013 || JSOI2008】球形空间产生器sphere
- [BZOJ1013][JSOI2008][高斯消元]球形空间产生器sphere
- [BZOJ1013][JSOI2008]球形空间产生器sphere
- bzoj1013: [JSOI2008]球形空间产生器sphere
- [JSOI2008] [BZOJ1013] 球形空间产生器sphere - 高斯消元
- 【bzoj1013】[JSOI2008]球形空间产生器sphere 高斯消元
- 【BZOJ1013】[JSOI2008]球形空间产生器sphere【高斯消元】
- BZOJ1013 [JSOI2008]球形空间产生器sphere
- 【bzoj1013】[JSOI2008]球形空间产生器sphere
- 【bzoj1013】 JSOI2008—球形空间产生器sphere
- bzoj1013: [JSOI2008]球形空间产生器sphere
- bzoj1013: [JSOI2008]球形空间产生器sphere
- bzoj1013: [JSOI2008]球形空间产生器sphere
- 【bzoj1013】[JSOI2008]球形空间产生器sphere
- bzoj1013 [JSOI2008]球形空间产生器sphere
- BZOJ1013: [JSOI2008]球形空间产生器sphere 高斯消元
- [高斯消元] BZOJ1013: [JSOI2008]球形空间产生器sphere
- [题解]bzoj1013(JSOI2008)球形空间产生器sphere
- c++基础之动态分配内存之malloc_free
- LoaderManager的使用
- idea破解
- 653. Two Sum IV
- bzoj1010 [HNOI2008]玩具装箱toy
- bzoj1013 [JSOI2008]球形空间产生器sphere
- Java 源码分析(二)
- 线程--生产者与消费者的案例
- JAVA Integer值比较问题
- CSDN转载操作
- C语言文件读写
- python中画图时x,y轴名称出现中文乱码的解决方法
- bzoj1411 [ZJOI2009]硬币游戏
- JAVA Hibernate工作原理及为什么要用