題目位址
題目指出有解。
設球心為(x1,x2,…,xn) ,則我們可以得到∑j=
0n(a
i,j−
xj)2
\sum_^n (a_ - x_j)^2
∑j=0n
(ai,
j−x
j)2
= c。
將其化簡,讓第一行減去第二行,依次類推。
可以得到∑j=
0n(a
i,j−
ai+1
,j)=
∑j=0
n(ai
,j2−
ai+1
,j2)
\sum_^n (a_ -a_) =\sum_^n(a_^2 - a_^2)
∑j=0n
(ai,
j−a
i+1,
j)=
∑j=0
n(a
i,j2
−ai
+1,j
2)
可以根據這個式子,把矩陣表示出來。
接下來處理矩陣,保證滿足對角線上的元素不為0.
再消去其他方程x[i]的係數。
最後可以得到
c 1,
1c_
c1,1
* x
1x_1
x1 = b[1]
…**:
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#include
#include
#include
#include
#include
#include
#define int long long
#define sc scanf
#define pf printf
using
namespace std;
typedef pair<
int,
int> pii;
typedef
long
long ll;
typedef
unsigned
long
long ll;
const
int inf =
0x3f3f3f3f
;const
double eps =
1e-4
;const
int mod =
10000
;const
int n =20;
double a[n]
[n],b[n]
,c[n]
[n];
signed
main()
for(
int i=
1;i<=n;i++)}
for(
int j=
1;j<=n;j++)}
for(
int i=
1;i) cout
)
[i]<<
" ";
cout
)
[n]
}
JSOI2008 球形空間產生器
火星人不能忍受地球人對他們的歧視,終於發明了一種非常強大的 球 形空間產生器 球形空間產生器能產生乙個 n 維球體屏障,而且這個屏障是堅 不可摧的,被困在球體內的地球人就被切斷了與外界的聯絡。js08 現在就被困在 了屏障中,情況十分危急,必須盡快找出並摧毀球形空間產生器。js08 經過摸索 和碰壁...
(BZOJ1013)207 球形空間產生器
本作品採用知識共享署名 相同方式共享 4.0 國際許可協議進行許可。有乙個球形空間產生器能夠在n維空間中產生乙個堅硬的球體。現在,你被困在了這個n維球體中,你只知道球面上n 1個點的座標,你需要以最快的速度確定這個n維球體的球心座標,以便於摧毀這個球形空間產生器。輸入格式 第一行是乙個整數n。接下來...
bzoj1013 球形空間產生器
第一眼看到這題完全沒思路。搜了一下題解發現就是解乙個方程組。orz 然而我也不會啊233 所以說就學了一下高斯消元。據說高斯 約當消元法在oi中更常用 設球心為x x1,x2,x3,x4,xn 每乙個點的座標為ai ai1,ai2,ai3,ain 那麼根據空間距離公式可以得到 因為球心到球面上個點距...