Seuoj--155(数学,高斯消元)

2014-09-17 21:08:40

115: GPS空间定位

时间限制: 1 Sec  内存限制: 128 MB
提交: 288  解决: 16
[提交][状态][讨论版]

题目描述

 空中有四颗测距卫星,现在对三维空间中一个点定位,4颗卫星各自输出自己与测量点间距离;求被测量点的三维坐标。

输入

 多组数据输入。

第一行一个数 CASENUM,表示有CASENUM组数据输入。
之后每组数据有 5行,
前四行,每行个三个整数 Xi,Yi,Zi,(i=1,2,3,4,表示第i颗卫星的位置坐标)
第五行,四个整数 D1,D2,D3,D4,表示空间中的点到这四个卫星距离的平方。
(所有输入在 106内)

输出

 每组case输出一行,包含三个整数,X Y Z 即测试点的坐标。

(我们确保每一问题只有唯一解,且该解为整点)

样例输入

1 0 0 0 0 0 1 1 0 0 0 1 0 4 1 5 5

样例输出

0 0 2

提示

 友情提示:四颗卫星可能共面也可能共线,甚至部分卫星位置重合,但我们确保任何数据中都只有唯一解.

来源

 
思路:这是“华为杯”复赛的一道高斯消元题,时隔数月,终于AC。通过4个距离,建立4条3元2次方程,然后把(1)-(2),(1)-(3),(1)-(4),逐个想减,得到三条3元1次方程,是线性方程组,于是可以建立系数矩阵。有点坑的是:di==0 要特判,不然解方程会出现无穷解的情况。还有答案出来要特别注意0的情况,如果fabs(答案)<eps,就应该把答案赋值为0。
 1 /*************************************************************************
 2     > File Name: 115.cpp
 3     > Author: Nature
 4     > Mail: 564374850@qq.com
 5     > Created Time: Wed 17 Sep 2014 03:29:59 PM CST
 6 ************************************************************************/
 7 
 8 #include <cstdio>
 9 #include <cstring>
10 #include <cstdlib>
11 #include <cmath>
12 #include <iostream>
13 #include <algorithm>
14 using namespace std;
15 typedef long long ll;
16 const int INF = 1 << 29;
17 const double eps = 1e-9;
18 
19 int T;
20 double x[5],y[5],z[5];
21 double d[5];
22 double ans[10][10],X[10];
23 
24 void Gauss(){
25     int equ,var; equ = var = 3;
26     int i,j,k,r,key,col = 0;
27     for(i = 0; i < equ && col < var; ++i,++col){
28         r = i;
29         for(j = i + 1; j < equ; ++j)
30             if(fabs(ans[j][col]) > fabs(ans[r][col])) r = j;
31         if(r != i)
32             for(j = 0; j <= var; ++j) swap(ans[i][j],ans[r][j]);
33         if(fabs(ans[i][col]) < eps){
34             --i;
35             continue;
36         }
37         for(k = i + 1; k < equ; ++k){
38             double f = ans[k][col] / ans[i][col];
39             for(j = col; j <= var; ++j) ans[k][j] -= f * ans[i][j];
40         }
41         for(j = var; j >= col; --j) ans[i][j] /= ans[i][col]; //将该行主元系数化为1
42     }
43     for(i = var - 1; i >= 0; --i){ //从最后行开始找主元位置
44         for(key = 0; fabs(ans[i][key]) < eps; ++key); //主元位置
45         for(j = key + 1; j < 3; ++j) ans[i][3] -= ans[j][3] * ans[i][j];
46     }
47 }
48 
49 int main(){
50     scanf("%d",&T);
51     while(T--){
52         for(int i = 1; i <= 4; ++i)
53             scanf("%lf%lf%lf",&x[i],&y[i],&z[i]);
54         for(int i = 1; i <= 4; ++i)
55             scanf("%lf",&d[i]);
56         int flag = 0;
57         for(int i = 1; i <= 4; ++i)
58             if(fabs(d[i]) < eps){
59                 printf("%.0f %.0f %.0f\n",x[i],y[i],z[i]);
60                 flag = 1;
61                 break;
62             }
63         if(flag)
64             continue;
65         memset(ans,0,sizeof(ans));
66         memset(X,0,sizeof(X));
67         ans[0][0] = 2.0*(x[2]-x[1]); ans[0][1] = 2.0*(y[2]-y[1]); ans[0][2] = 2.0*(z[2]-z[1]);
68         ans[1][0] = 2.0*(x[3]-x[1]); ans[1][1] = 2.0*(y[3]-y[1]); ans[1][2] = 2.0*(z[3]-z[1]);
69         ans[2][0] = 2.0*(x[4]-x[1]); ans[2][1] = 2.0*(y[4]-y[1]); ans[2][2] = 2.0*(z[4]-z[1]);
70         double t[5];
71         for(int i = 1; i <= 4; ++i)
72             t[i] = x[i]*x[i] + y[i]*y[i] + z[i]*z[i];
73         ans[0][3] = d[1] - d[2] - t[1] + t[2];
74         ans[1][3] = d[1] - d[3] - t[1] + t[3];
75         ans[2][3] = d[1] - d[4] - t[1] + t[4];
76         Gauss();
77         for(int i = 0 ; i < 3; ++i) if(fabs(ans[i][3]) < eps) ans[i][3] = 0.0;
78         printf("%.0f %.0f %.0f\n",ans[0][3],ans[1][3],ans[2][3]);
79     }
80     return 0;
81 }

 

 

转载于:https://www.cnblogs.com/naturepengchen/articles/3978107.html

高校技术转移办公室人员如何构建技术交易平台的智能推荐机制?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

基于mongodb, express, react, node开发的商店应用

1、角色管理,支持买家和卖家 2、 支持创建、编辑、删除拍卖 3、支持投标

[最小生成树] SEUOJ101 数学建模

有n个地区需要供电,一个地区通电的充要条件是要么在这个地区建立一座发电站,要么通过高压电线或高压电线组成的路径连向其他已通电的地区.在地区i建立发电站的花费是Wi,在地区i与地区j之间建立高压电线的花费是Pij.读入n(<=300),Wi,Pij.求出最少花费使所有地区都通上电. 题目链接:https://oj.seucpc.club/problem/101 解法1...

weixin_30781433的博客 387

CrewAI 多 Agent 实战包 v1(Mock免Key跑通+通义千问可选+流水线样例)

本资源是 CrewAI 风格多 Agent 可运行工程包:研究→写作→审校等流水线样例。无 API Key 时自动降级 Mock 引擎跑通;有 DASHSCOPE_API_KEY 时可接真实 CrewAI + 通义千问。含中文 README、samples、smoke 留档、单元测试。本包不含密钥。关联博客:https://blog.youkuaiyun.com/mtl1994

seuoj 110 完美数字感应

这个题是华为杯的签到题。。。。我和兔兔做完这个果断跪了。。。。

u013625371的专栏 2052

国央企创新负责人如何通过平台实现技术需求的高效挖掘与转化?.docx

国央企创新负责人如何通过平台实现技术需求的高效挖掘与转化?

状态估计【卡尔曼滤波kalman】UKF、EKF、粒子滤波PF学习与研究(Matlab代码实现)

内容概要:本文围绕非线性状态估计中的三种经典滤波算法——无迹卡尔曼滤波(UKF)、扩展卡尔曼滤波(EKF)和粒子滤波(PF)展开系统性学习与研究,重点在于通过Matlab编程实现这些算法的核心流程,并将其应用于实际系统的状态估计问题中。文档不仅详细阐述了各算法的数学原理、适用条件与性能差异,还提供了完整的仿真代码与案例分析,帮助读者深入理解其在非线性、非高斯环境下的表现特性。同时,资源拓展至EKF与神经网络融合训练、多源数据融合等高级应用场景,展现了其在智能控制、无人机导航、电力系统状态估计、目标跟踪等领域的广泛应用价值。; 适合人群:具备一定信号处理、控制理论或状态估计基础的研究生、科研人员及工程技术人员,尤其适用于从事自动化、机器人、导航、电力电子与智能系统等相关方向的研究与开发工作者;; 使用场景及目标:① 掌握UKF、EKF与PF在非线性系统中的建模思路与Matlab实现方法,理解其优缺点与适用边界;② 提升科研仿真能力,能够独立构建状态估计模型并进行算法对比验证;③ 将所学方法应用于如电池SOC估算、无人机姿态估计、传感器融合、故障诊断等实际工程问题中;; 阅读建议:建议结合Matlab动手实践,逐行解读并调试所提供的代码,深入理解算法实现细节;同时可延伸学习文中提及的数据融合、神经网络与滤波器结合等进阶主题,以构建完整的状态估计技术知识体系。

SEUOJ上几道水题

自己学校OJ上题目的结题报告在网上很难找,所以好歹先贴几个 地址:http://acm.seu.edu.cn/oj 校赛题: 特殊的树 这题貌似只能Kruskal,不能prim,虽然同是贪心,但前者每次取最短边,而后者每次取总权值增加最小的边 #include<iostream> #include<cstdio> #include<algor...

weixin_34245749的博客 289

Plecs全桥LLC谐振变换器仿真模型

内容概要:本文档系统性地整合了电力电子与控制系统仿真领域的丰富资源,聚焦于基于Plecs和Simulink平台的高频软开关变换器建模与仿真,涵盖全桥LLC、双向CLLC、DAB、PFC、Vienna整流器、Buck-Boost等多种典型拓扑结构。资源内容不仅包括闭环控制(如变频控制、移相混合控制、双闭环、恒压恒流双竞争控制)的仿真模型,还配套提供详细的参数设计报告、Mathcad计算书、PPT说明文档及参考文献,构建了从理论建模到工程实现的完整技术链条。此外,文档拓展至状态估计(如卡尔曼滤波、EKF、UKF、PF)与智能算法(如BP神经网络、模型预测控制)在电力系统中的融合应用,为先进控制策略的研究与复现提供了坚实支撑。; 适合人群:面向具备电力电子、自动控制或电气工程等相关专业背景,熟练掌握MATLAB/Simulink/Plecs等仿真工具,从事高频开关电源、新能源变换系统、储能系统或车载电源研发的研究生、高校科研人员及企业工程技术人员。; 使用场景及目标:① 学习并掌握全桥LLC等谐振变换器的核心工作原理与闭环控制系统设计方法,特别是变频与移相控制策略的实现细节;② 利用提供的仿真模型与Mathcad计算工具,快速完成实际项目中的参数设计、性能验证与优化迭代;③ 结合状态估计算法与神经网络等智能方法,开展电力电子系统状态观测、故障诊断或控制策略创新等前沿科研课题的复现与探索。; 阅读建议:建议严格按照资源目录结构循序渐进地查阅,优先下载并运行核心仿真模型,结合对应的设计报告与计算书深入理解其建模逻辑与参数推导过程,重点关注闭环控制架构、软启动策略及中点电位平衡等关键技术环节,并可进一步将状态估计与智能算法模块融入现有模型,探索其在系统优化中的应用潜力。

[动态规划] SEUOJ103 排列组合

初始有一张n个结点没有边的空图,有m次加边或减边的操作,对于每一次操作完成后,求出选择k(k=1,2,...,n/2)条无公共端点的边的方案数(对于两点间的重边,计为不同的方案). n<=10 m<=3e5 题目链接: https://oj.seucpc.club/problem/103 解法 首先分析一下加减边的影响.设f~k~(G)表示在G这张图里选取k条边的方案数.那么有\[...

weixin_30332241的博客 287

【扩展卡尔曼滤波器EKF】基于UWB雷达的SLAM能够在室内环境内映射自然点地标,并改善机器人定位(Matlab代码实现)

内容概要:本文介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,重点围绕LLC谐振变换器的工作原理、建模方法与仿真设计展开。该模型可用于研究全桥LLC在软开关条件下的动态响应特性、效率优化及参数设计,涵盖谐振频率调节、变频控制策略、电压增益特性等关键技术内容,帮助深入理解LLC拓扑在高频高效电源转换中的应用。; 适合人群:具备电力电子基础知识,从事电源设计、新能源变换系统研发的工程师及研究生。; 使用场景及目标:①用于教学与科研中对LLC谐振变换器工作模态的分析;②辅助完成高性能DC-DC变换器的参数设计与控制策略验证;③支持对软开关技术、谐振网络优化等方面的深入研究; 阅读建议:建议结合其他LLC相关设计资料与仿真工具(如Simulink)进行对比学习,重点关注谐振参数选取与仿真波形分析,以提升对实际工程问题的解决能力。

单相boost功率因数校正 PFC电路仿真(Simulink仿真实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,系统阐述了LLC谐振变换器的工作原理、建模方法及仿真实现过程。该模型能够有效分析变换器在不同工况下的动态响应特性,包括软开关的实现条件、谐振参数的设计影响、系统效率优化等方面,并支持开环与闭环控制策略的验证。文档深入探讨了LLC拓扑的电压增益特性、零电压开关(ZVS)的实现机制以及磁性元件参数对系统性能的作用,配套提供了完整的仿真资源体系,涵盖参数计算、控制策略设计与性能评估等内容,形成了从理论到实践的完整研究闭环,有助于深入掌握LLC谐振变换器的核心设计要素与工程应用要点。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事开关电源、新能源变换器研发的工程技术人员。; 使用场景及目标:①用于教学与科研中对LLC谐振变换器工作机理的理解与验证;②辅助工程师完成实际产品开发中的参数设计与控制策略优化;③支持对软开关技术、高频高效电源变换等前沿方向的研究。; 阅读建议:建议结合Plecs或Simulink等仿真工具动手实践,对照文档中的模型结构与参数设置进行仿真复现,并通过调整谐振腔参数、开关频率等变量观察系统响应变化,以加深对LLC变换器非线性特性和控制难点的理解。

poj1922

贪心啦~\(≧▽≦)/~

u013625371的专栏 1172

港股十档tick数据提供逐笔更新行情,包含时间戳、最新价、涨跌幅、成交量与成交额,以及买一至买十、卖一至卖十的价格和挂单量 逐笔成交数据记录每笔交易的时间、成交价、成交量及买卖方向 分钟数据按每分钟聚

港股十档tick数据提供逐笔更新行情,包含时间戳、最新价、涨跌幅、成交量与成交额,以及买一至买十、卖一至卖十的价格和挂单量。逐笔成交数据记录每笔交易的时间、成交价、成交量及买卖方向。分钟数据按每分钟聚合,涵盖开盘价、最高价、最低价、收盘价、成交量和成交额。上述数据覆盖十五年历史,以csv表格形式呈现,字段齐全,适合直接用于量化回测或行情分析。 数据源:CMES金融数据库

中国石油大学 个人训练赛第五场C:所罗门王的宝藏(高斯消元)

题目描述 据古代传说记载,所罗门王既是智慧的代表,又是财富的象征。他建立了强大而富有的国家,聚集了大批的黄金象牙和钻石,并把这些价值连城的珍宝藏在一个神秘的地方,这就是世人瞩目的“所罗门王的宝藏”。多少个世纪以来,人们一直在寻找这批早已失落的古代文明宝藏,寻找盛产黄金和钻石的宝地。曾经追寻所罗门王宝藏的冒险者们都一去不回,至今没人解开这个谜题。亨利男爵在一次幸运的旅途中意外地得到了三百年前一位葡...

做一只傻猫、的博客 461

概率神经网络的分类预测-基于PNN的变压器故障诊断(Matlab代码实现)

内容概要:本文介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,旨在通过高精度仿真手段深入研究LLC谐振变换器的工作原理、动态特性及其性能优化。该模型完整涵盖了主电路拓扑结构、谐振腔参数设计、软开关实现机制以及闭环控制策略,能够精确模拟变换器在不同负载与输入条件下的电压增益、效率表现及开关器件的零电压开通(ZVS)特性。通过对谐振频率、变比及负载变化的仿真分析,可有效验证设计合理性,优化系统效率,并为实际硬件开发提供可靠的理论依据和技术支持。; 适合人群:具备扎实电力电子技术基础,从事高频开关电源、谐振变换器设计、新能源变换系统研发的工程师及高校科研人员。; 使用场景及目标:①用于LLC谐振变换器的教学演示与原理验证,帮助学生理解软开关技术与谐振行为;②支持研究人员开展新型控制算法(如变频控制、峰值增益优化)的仿真验证;③辅助工程师在产品开发前期进行参数扫掠与性能预估,缩短研发周期; 阅读建议:建议结合具体设计指标(如输入电压范围、输出功率)调整仿真参数,重点关注谐振电流与励磁电流的波形关系、ZVS实现条件及效率随负载的变化趋势,并将仿真结果与理论计算进行对比,以全面提升对LLC变换器设计规律的掌握。

人力资源大模型技术领域人事面试全流程解析:从准备到入职的完整指南设计

内容概要:本文档系统梳理了求职者在应聘过程中所需掌握的人事面试全流程及相关技巧,涵盖面试前准备、面试流程解析、常见问题应对策略、聊天话术、offer处理及试用期管理等内容。重点提供了自我介绍、离职原因、薪资期望、职业规划等高频问题的回答范例,并强调了仪容仪表、沟通礼仪、非语言行为等细节对面试成败的影响。同时,文档还详述了Boss直聘平台的高效使用方法、背景调查应对方式以及入职材料准备事项,帮助求职者全面提升求职成功率。; 适合人群:正在寻找工作的应届毕业生、有1-3年工作经验的技术从业者,尤其是从事大模型、人工智能、大数据等相关领域的研发人员。; 使用场景及目标:①用于指导求职者系统化准备人事面试,提升通过率;②帮助求职者规范自我表达,合理设定薪资与城市预期,安全度过试用期;③提供与HR沟通的标准话术和实战案例,增强求职主动性与专业性。; 阅读建议:建议求职者结合自身实际情况,提前模拟练习文档中的问答范例和聊天话术,重点关注自我介绍、离职原因、职业规划等核心问题的表述逻辑,确保真实、可信、积极。同时,在实际操作中注意信息保密,谨慎对待背景调查环节。

高斯消元法

高斯消元法(Gauss Elimination) 分析 & 题解 & 模板——czyuan原创 高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵。 高斯消元法的原理是: 若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组。 所以我们可以用初等行变换把增广矩阵转换为行阶梯阵,然后回代求出方程的解。

幸福在路上 1万+

别再只看图了!代谢组学OPLS-DA分析,R2Y和Q2Y到底怎么看才不踩坑?

本文深入解析代谢组学OPLS-DA分析中的关键指标R2Y和Q2Y,揭示如何避免过拟合陷阱。通过详细解读模型解释能力(R2Y)和预测能力(Q2Y),结合置换检验方法,提供完整的模型评估流程与实战建议,帮助研究者获得可靠的分析结果。

weixin_42638178的博客 196

【本校OJ】P4927 高斯消元法

标题党,高斯消元法大概就是线代课学的各种初等行变换,我暂且蒙在鼓里,,, 思路: 找出每个灯和开关之间的关系,列出方程组求解。——HINT 以每个开关的状态为未知数列出三十元一次方程组。在其增广矩阵中,矩阵的行与灯一一对应,列与开关一一对应,对于每个开关Y,若Y可控制第X个灯,则X行Y列元素为1,否则为0;每行最后一列(0或1)表示对应灯的初始状态。 例: 对灯阵的初始状态: 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 可列出

迫真编程部 198

缺陷检测-金属表面缺陷检测

1介绍 缺陷检测是工业视觉技术中最重要的组成部分。业务广泛,场景丰富,技术难点高、工作量大。针对不同的场景,选择不同的相机和

huneng1991的专栏 5248

笔试题-2023-星宸-数字IC设计【纯净题目版】

4 笔试题-2023-星宸-数字IC设计【纯净题目版】

w0shishabi的博客 1171
上一篇: Poj--1681(数学,高斯消元)
下一篇: Poj--1753(数学,高斯消元 + 枚举 or 暴力乱搞)
dingdi3021
博客等级 码龄11年 1粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值