bzoj1013
这道题题解太多,只贴代码。
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std ; const int MAXN = ;
double value [ MAXN ] [ MAXN ] ;
double ans [ MAXN ] ;
int N ; void print () {
for ( int i = ; i < N ; ++ i ) {
for ( int j = ; j <= N ; ++ j ) printf ( "%.6lf " , value [ i ] [ j ] ) ;
putchar ( '\n' ) ;
}
putchar ( '\n' ) ;
} void Gauss () {
for ( int i = ; i < N ; ++ i ) {
{
int p = i ;
for ( int j = i + ; j < N ; ++ j )
if ( fabs ( value [ p ] [ i ] ) < fabs ( value [ j ] [ i ] ) ) p = j ;
swap_ranges ( value [ i ] , value [ i ] + N + , value [ p ] ) ;
}
{
const double d = 1.0 / value [ i ] [ i ] ;
for ( int j = ; j <= N ; ++ j ) value [ i ] [ j ] *= d ;
}
for ( int j = ; j < N ; ++ j ) {
if ( j == i ) continue ;
const double d = value [ j ] [ i ] ;
for ( int k = ; k <= N ; ++ k ) value [ j ] [ k ] -= d * value [ i ] [ k ] ;
}
}
} double x [ MAXN ] [ MAXN ] ;
int main () {
scanf ( "%d" , & N ) ;
for ( int i = ; i <= N ; ++ i )
for ( int j = ; j < N ; ++ j ) scanf ( "%lf" , & x [ i ] [ j ] ) ;
for ( int i = ; i < N ; ++ i ) x [ i ] [ N ] = 0.0 ;
for ( int i = ; i < N ; ++ i ) {
for ( int j = ; j < N ; ++ j ) {
value [ i ] [ j ] = * ( x [ i ] [ j ] - x [ i + ] [ j ] ) ;
value [ i ] [ N ] += x [ i ] [ j ] * x [ i ] [ j ] - x [ i + ] [ j ] * x [ i + ] [ j ] ;
}
}
Gauss () ;
printf ( "%.3lf" , value [ ] [ N ] ) ;
for ( int i = ; i < N ; ++ i ) printf ( " %.3lf" , value [ i ] [ N ] ) ;
return ;
}
bzoj1013的更多相关文章
- 【bzoj1013】 JSOI2008—球形空间产生器sphere
www.lydsy.com/JudgeOnline/problem.php?id=1013 (题目链接) 题意 有一个n维的球体,给出球上n+1个点,求出圆心. Solution 题中给出了对于n维空 ...
- 【BZOJ1013】球形空间产生器(高斯消元)
[BZOJ1013]球形空间产生器(高斯消元) 题面 Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标, ...
- 【BZOJ1013】【JSOI2008】球形空间产生器 高斯消元
题目描述 有一个\(n\)维空间中的球,告诉你球面上\(n+1\)个点的坐标,求球心的坐标. \(n\leq 10\) 题解 设\(a_{i,j}\)为第\(i\)个点的第\(j\)维坐标,\(i=0 ...
- BZOJ1013 JSOI2008 球形空间产生器sphere 【高斯消元】
BZOJ1013 JSOI2008 球形空间产生器sphere Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点 ...
- BZOJ1013球形空间产生器sphere 高斯消元
@[高斯消元] Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球 ...
- BZOJ1013 + BZOJ1923 + POJ1830 (高斯消元)
三个题放在一起写了 主要是搞搞模板 在这里简述一下怎么写高斯消元 就和代数里学的加减消元学的一样 把矩阵化为上三角形形式 然后进行回代 同时枚举当前要消元的未知数和当前化简到哪一行了 然后从这一行往后 ...
- LG4035/BZOJ1013 「JSOI2008」球形空间产生器 高斯消元
问题描述 LG4035 BZOJ1013 题解 设答案为\((p_1,p_2,p_3,...,p_n)\) 因为是一个球体,令其半径为\(r\),则有 \[\sum_{i=1}^{n}{(a_i-p_ ...
- 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 ...
- [bzoj1013][JSOI2008][球形空间产生器sphere] (高斯消元)
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧 ...
- 【BZOJ1013】【JSOI2008】球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1600 Solved: 860[Submi ...
随机推荐
- 解决NetworkOnMainThreadException
今天在Android 访问 WebService 的时候遇到,错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程 ...
- Grunt :任务自动管理工具
来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 在Javascript的开发过程中,经常会遇到一些重复性的任务,比如合并文件.压缩代码.检查语法错误.将Sass代码 ...
- 在Visual C++下搭建OpenGL的开发环境
1.确保你的电脑已经安装了visual c++编译器 如果还没安装的话,这里有个安装包,可以复制链接进行下载:http://pan.baidu.com/s/1bn4XTqn 2.下载GLUT 下载 ...
- Android启动过程以及各个镜像的关系
Android启动过程 Android在启动的时候,会由UBOOT传入一个init参数,这个init参数指定了开机的时候第一个运行的程序,默认就是init程序,这个程序在ramdisk.img中.可以 ...
- [POJ3061]Subsequence(二分,前缀和)
题目链接:http://poj.org/problem?id=3061 题意:给一个长为n的数列和整数s,求一个连续的子序列,使得这个子序列长度最短并且不小于这个整数s. 统计[1~i]的子序列和su ...
- Linux同步机制 - 多线程开发总结
1 对于CPU开销大的场景,能利用多核,就尽量利用多核(常常自以为某需求的运算量不大,且CPU足够快,就偷懒写个单线程,结果效率很低) 2 使用多线程的时候,默认是加锁的.在加锁保证业务正常的条件下, ...
- phpcms上线步骤,无法生成缓存,页面空白原因
缓存目录没有设置成777. 1.修改数据库配置 2.修改数据表中的本地地址成线上地址 3.修改代码中的配置,本地地址批量改为线上地址 4.登录后台,更新缓存
- 【笨嘴拙舌WINDOWS】实践检验之按键精灵【Delphi】
通过记录键盘和鼠标位置和输入信息,然后模拟发送,就能够创建一个按键精灵! 主要代码如下: library KeyBoardHook; { Important note about DLL memory ...
- Mac 上安装MySQL
http://blog.neten.de/posts/2014/01/27/install-mysql-using-homebrew/ http://www.wkii.org/mac-os-x-ins ...
- 【英语】Bingo口语笔记(27) - 如何培养口语语感