问题描述

LG4035

BZOJ1013


题解

设答案为\((p_1,p_2,p_3,...,p_n)\)

因为是一个球体,令其半径为\(r\),则有

\[\sum_{i=1}^{n}{(a_i-p_i)}^2={\rm dis}^2
\]

拆式子可得

\[\sum_{i=1}^{n}a_i^2-2\times\sum_{i=1}^{n}{a_ip_i}=\sum_{i=1}^{n}p_i^2-{\rm dis}^2
\]

于是可以构造出新的方程矩阵:

\[f_{i,j}=2 \times (a_{i+1,j}-a_{i,j})
\]

\[f_{i,n+1}=\sum_{j=1}^n a_{i+1,j}^2-a_{i,j}^2
\]


\(\mathrm{Code}\)

#include<bits/stdc++.h>
using namespace std; void read(int &x){
x=0;char ch=1;int fh;
while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();
if(ch=='-') fh=-1,ch=getchar();
else fh=1;
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+ch-'0';
ch=getchar();
}
x*=fh;
} #define maxn 107 int n; double a[maxn][maxn],bf[maxn][maxn]; int pla; int main(){
ios::sync_with_stdio(0);
cin>>n;
for(register int i=1;i<=n+1;i++){
for(register int j=1;j<=n;j++) cin>>bf[i][j];
}
for(register int i=1;i<=n+1;i++){
for(register int j=1;j<=n;j++){
a[i][j]=2*(bf[i+1][j]-bf[i][j]);
a[i][n+1]+=bf[i+1][j]*bf[i+1][j]-bf[i][j]*bf[i][j];
}
}
for(register int i=1;i<=n;i++){
pla=i;
while(pla<=n&&a[pla][i]==0) pla++;
if(pla==n+1){
puts("No Solution");return 0;
}
for(register int j=1;j<=n+1;j++) swap(a[i][j],a[pla][j]);
double tmp=a[i][i];
for(register int j=1;j<=n+1;j++) a[i][j]=a[i][j]/tmp;
for(register int j=1;j<=n;j++){
if(i==j) continue;
double rp=a[j][i];
for(register int k=1;k<=n+1;k++){
a[j][k]=a[j][k]-rp*a[i][k];
}
}
}
for(register int i=1;i<=n;i++){
cout<<fixed<<setprecision(3)<<a[i][n+1]<<" ";
}
return 0;
}

最新文章

  1. Dependency Scope
  2. JavaScript的学习5
  3. Linux服务器管理: 系统的定时任务crond
  4. JQuery执行DOM批量克隆并插入的提效方法
  5. Effective STL
  6. API文档管理工具-数据库表结构思考.
  7. PowerDesigner中遍历物理模型中的所有表,检查表代码、字段代码
  8. 在XP系统中自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同,导致抛出的异常不同
  9. quartus中查看网表
  10. javascript对象继承的实现
  11. debian安装vld来查看Opcode,PHP调优。
  12. 从0到1一步步搭建代码质量检测系统~iOS
  13. 基于Nginx的Rtmp流媒体服务器环境搭建
  14. node.js 下依赖Express 实现post 4种方式提交参数
  15. 基于redis实现tomcat8及以上版本的tomcat集群的session持久化实现(tomcat-redis-session-manager二次开发)
  16. eclipse中启动项目报内存溢出问题通过修改配置解决
  17. AVH IP网络广播系统
  18. go基础知识之变量,类型,常量,函数
  19. 规范大于编码-我的javaWeb开发规范
  20. python爬虫 发送定时气象预报

热门文章

  1. Haproxy 构建负载均衡集群
  2. Codeforces Round #552 (Div. 3) EFG(链表+set,dp,枚举公因数)
  3. MongoDB创建数据库和删除数据库05-14学习笔记
  4. html-加水印--watermark--代码测试
  5. tensorflow之tf.to_float
  6. Chrome 手动安装.crx插件
  7. mysql批量更新数据(性能优化) 第一种方式
  8. 云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告
  9. [Delphi]无边框窗口最大化不挡任务栏方法
  10. 原生PHP和MYSQL练习登陆验证和查询数据到表格