BZOJ1013: [JSOI2008]球形空间产生器sphere
高斯消元练习。
模板:
void Guass(){
int waited;
up(i,1,N){
waited=i;
up(j,i+1,N)if(fabs(M[j][i])>fabs(M[waited][i]))waited=j;
if(waited!=i)up(j,1,N+1)swap(M[i][j],M[waited][j]);
up(k,i+1,N){
db f=M[k][i]/M[i][i];
up(j,i,N+1)M[k][j]-=f*M[i][j];
}
}
down(i,N,1){
up(j,i+1,N)M[i][N+1]-=M[j][N+1]*M[i][j];
M[i][N+1]/=M[i][i];
}
}
具体实现:
//BZOJ 1013
//by Cydiater
//2016.11.2
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <queue>
#include <map>
#include <ctime>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <bitset>
#include <set>
#include <iomanip>
using namespace std;
#define ll long long
#define db double
#define up(i,j,n) for(int i=j;i<=n;i++)
#define down(i,j,n) for(int i=j;i>=n;i--)
#define cmax(a,b) a=max(a,b)
#define cmin(a,b) a=min(a,b)
const int MAXN=15;
const int oo=0x3f3f3f3f;
int N;
db f[MAXN],M[MAXN][MAXN];
namespace solution{
void init(){
scanf("%d",&N);
up(i,1,N)scanf("%lf",&f[i]);
up(i,1,N)up(j,1,N){
double tmp;scanf("%lf",&tmp);
M[i][j]=2*(tmp-f[j]);
M[i][N+1]+=tmp*tmp-f[j]*f[j];
}
}
void Guass(){
int waited;
up(i,1,N){
waited=i;
up(j,i+1,N)if(fabs(M[j][i])>abs(M[waited][i]))waited=j;
if(waited!=i)up(j,1,N+1)swap(M[i][j],M[waited][j]);
up(k,i+1,N){
db f=M[k][i]/M[i][i];
up(j,i,N+1)M[k][j]-=f*M[i][j];
}
}
down(i,N,1){
up(j,i+1,N)M[i][N+1]-=M[j][N+1]*M[i][j];
M[i][N+1]/=M[i][i];
}
}
void slove(){
Guass();
}
void output(){
up(i,1,N-1)printf("%.3lf ",M[i][N+1]);
printf("%.3lf\n",M[N][N+1]);
}
}
int main(){
freopen("input.in","r",stdin);
using namespace solution;
init();
slove();
output();
return 0;
}
BZOJ1013: [JSOI2008]球形空间产生器sphere的更多相关文章
- BZOJ1013 JSOI2008 球形空间产生器sphere 【高斯消元】
BZOJ1013 JSOI2008 球形空间产生器sphere Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点 ...
- BZOJ1013 [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4846 Solved: 2525[Subm ...
- bzoj千题计划104:bzoj1013: [JSOI2008]球形空间产生器sphere
http://www.lydsy.com/JudgeOnline/problem.php?id=1013 设球心(x1,x2,x3……) 已知点的坐标为t[i][j] 那么 对于每个i满足 Σ (t[ ...
- [bzoj1013][JSOI2008][球形空间产生器sphere] (高斯消元)
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧 ...
- BZOJ1013 [JSOI2008]球形空间产生器sphere[高消]
数论进度开的好慢啊.我整天做的都是什么鬼题啊. 简单的高消题,用一个式子把另外$n$个有二次项和距离的式子全消掉就行了. #include<iostream> #include<cs ...
- 【bzoj1013】[JSOI2008]球形空间产生器sphere
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4530 Solved: 2364[Subm ...
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...
- 【BZOJ】1013: [JSOI2008]球形空间产生器sphere
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个 ...
- bzoj 1013 [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3584 Solved: 1863[Subm ...
随机推荐
- 基于Cesium1.26地图API下的GeoServer2.9.0服务器跨域设置
遇到的问题: 最近基于Cesium来做3D模型的地图开发,在访问自己发布的WMS服务之后,遇到了GeoServer跨域问题. 调用这个WMS服务的时候,浏览器(我用Chrome)开发者工具报错: 控制 ...
- 使用Kotlin对ViewGroup的视图进行函数使操作
原文标题:Functional operations over Views in ViewGroup using Kotlin 原文链接:http://antonioleiva.com/functio ...
- Android中使用Notification实现普通通知栏(Notification示例一)
Notification是在你的应用常规界面之外展示的消息.当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏.要查看消息的详情需要进入通知抽屉(notificationdrawer) ...
- android Base64 加密
一 Base64加密 import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStre ...
- iOS开发--Swift RAC响应式编程初探
时间不是很充足, 先少说点, RAC的好处是响应式编程, 不需要自己去设置代理委托, target, 而是主要以信息流(signal), block为主, 看到这里激动吧, 它可以帮你监听你的事件, ...
- swift-字典
swift字典 在swift中,key:key值一定是可hash的,一定是独一无二的,swift的基本数据类型(String,Int,Float)都是可哈希的,所以都可以作为key值. value:没 ...
- [C#6] 1-using static
0. 目录 C#6 新增特性目录 1. 老版本的代码 1 using System; 2 3 namespace csharp6 4 { 5 internal class Program 6 { 7 ...
- (四)Spark集群搭建-Java&Python版Spark
Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...
- IIS中启用ASP并连接Access数据库的解决办法
1. IIS安装ASP模块 进入控制面板 ---- 打开或关闭Windows功能 选择如下所示两项,点击安装完成 2. 打开父路径许可 选择相应应用程序池 ----- 高级设置 ---- 将“启用父路 ...
- [js] 变量空值研究
最近js的空值弄得焦头烂额,今天写个博客记录下. javascript变量空值一共有3种 1.“” var e=""; 2.null var e=null; 3.NaN var e ...