【高斯消元】bzoj1013 [JSOI2008]球形空间产生器sphere
求圆神饶恕~>_<
根据半径相等的关系建立n+1个二次方程,
然后每个和前一个相减消去二次项,get n个线性方程。
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 11
int n;
double B[N][N+1],A[N][N+1],x[N],b[N],pl[N+1][N];
double sqr(double x){return x*x;}
void guass_jordan()
{memcpy(B,A,sizeof(A));for(int i=1;i<=n;++i)B[i][n+1]=b[i];for(int i=1;i<=n;++i)//枚举:正在消除第i个未知数,之后第i个方程废掉,矩阵行、列-1{int pivot=i;for(int j=i+1;j<=n;++j)//枚举j:把正在处理的未知数的系数的绝对值最大的方程换到第i行if(fabs(B[j][i])>fabs(B[pivot][i]))pivot=j;swap(B[i],B[pivot]);//if(fabs(B[i][i])<EPS)//若所有(最大)的该未知数系数为0,说明少一个未知数,有无穷多解for(int j=i+1;j<=n+1;++j)B[i][j]/=B[i][i];for(int j=1;j<=n;++j)if(i!=j)//枚举所有的方程,从第j个方程中消去第i个未知数for(int k=i+1;k<=n+1;++k)//依次把第j个方程中的第k个未知数减去应减的数值B[j][k]-=B[j][i]*B[i][k];}for(int i=1;i<=n;++i) x[i]=B[i][n+1];
}
int main()
{scanf("%d",&n);for(int i=1;i<=n+1;++i){for(int j=1;j<=n;++j)scanf("%lf",&pl[i][j]);if(i>1)for(int j=1;j<=n;++j){b[i-1]+=sqr(pl[i-1][j])-sqr(pl[i][j]);A[i-1][j]=2.0*pl[i-1][j]-2.0*pl[i][j];}}guass_jordan();for(int i=1;i<n;++i)printf("%.3f ",x[i]);printf("%.3f\n",x[n]);return 0;
}
转载于:https://www.cnblogs.com/autsky-jadek/p/4343662.html
【高斯消元】bzoj1013 [JSOI2008]球形空间产生器sphere相关推荐
- 【高斯消元】[JSOI2008]球形空间产生器sphere
[JSOI2008]球形空间产生器sphere 省选难度的板子 + 普及思维 = 紫题 (没毛病 日推天天推紫题再见了同学们我自请退群 为什么要我一个三维生物想象n维空间呢 以二维举例(糊一波我的手稿 ...
- bzoj1013 [JSOI2008]球形空间产生器sphere
bzoj1013 [JSOI2008]球形空间产生器sphere 原题链接 题解 对\(k\in[2,n]\)列方程 \[\sum_{i=1}^{n}x_{i,0}(2x_{i,k}-2x_{i,k- ...
- 高斯消元——解线性方程组+球形空间产生器+开关问题
传送门:https://www.acwing.com/activity/content/11/ 思路: 把原矩阵变成阶梯型矩阵解题步骤: 1.找到绝对值最大的一行. 2.将该行和最上面未处理好的一行交 ...
- [2018.12.18]BZOJ1013 [JSOI2008]球形空间产生器sphere
设中心点坐标\(B=(b_1,b_2,b_3,...,b_n)\),球面上的点的坐标A=\((a_1,a_2,a_3,...,a_n)\) 则 \(dist_{A,B}=\sqrt{(a_1-b_1) ...
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...
- BZOJ 1013: [JSOI2008]球形空间产生器sphere( 高斯消元 )
可以得到N条N元一次方程, 高斯消元就OK了..时间复杂度O(N3) ----------------------------------------------------------------- ...
- bzoj 1013: [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MB Submit: 5598 Solved: 2943 [Su ...
- 【BZOJ】1013: [JSOI2008]球形空间产生器sphere(高斯消元)
http://www.lydsy.com/JudgeOnline/problem.php?id=1013 只要列出方程组就能套高斯来解了. 显然距离相等,所以开不开平方都无所谓. b表示圆心,可列 s ...
- BZOJ 1013 JSOI2008 球形空间产生器sphere 高斯消元
题目大意:给定n维空间下的n+1个点,求这n个点所在的球面的球心 以前尝试了非常久的模拟退火0.0 至今仍未AC 0.0 今天挖粪涂墙怒学了高斯消元-- 我们设球心为X(x1,x2,...,xn) 如 ...
最新文章
- 用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile、DeleteEnhMetaFile
- Codeforces 1408 D. Searchlights(优化DP、思维)
- 2011年5月19日盘后分析:把握行情运行主线 静待大盘明确信号
- argis中4波段影像变3波段
- Java线程面试题TOP50
- Varnish——CDN推送平台(web页面批量清除缓存)
- Service Mesh 如何重定义云原生计算?阿里服务网格技术大揭秘
- 深度学习剖根问底:SGD算法详解
- 论需求分析方法及应用--系统分析师
- 微信测试账户申请以及测试
- 卡尔曼滤波原理介绍及算法实现
- 积分商城功能表设计结构以及积分功能模块
- 微信小程序7-云存储
- Ubuntu下vscode配置OpenGL(使用glfw+glad)
- 【已解决】格式化SD卡提示“这张磁盘有写保护”,试过将SD开关拨向两边,均失败。
- android stl 3d模型,3D文件转化为STL文件 - 魔猴网
- 2022华数杯B题论文思路分析+完整代码(水下机器人组装计划)(一二问答案接出来和标准答案一样)(问题三四逼近正确答案)(完整论文,代码可直接跑)
- DIY智能小车篇(一):结构模块
- pgpool-ii的安装与使用
- 携程显示连接不到服务器,携程:网络故障由员工错误操作导致
热门文章
- 微服务架构基本介绍与微服务设计模式
- Spring Cloud 微服务实战系列-Spring Boot再次入门(一)
- JVM优化系列-JVM G1 垃圾收集器
- [eclipse]Syntax error on token ;,{ expected after this token
- FileItem类的常用方法
- 内存对齐 | 原来字段顺序还能影响结构体占用的内存空间
- Go Web编程--解析JSON请求和生成JSON响应
- commons-io实现流的拷贝
- 下载并导入mysql提供的测试数据库employees
- 解决方案:Lua环境搭建