bzoj 1013
題目大意:
給出$n$維球體上的$n+1$個點,求球心
思路:設球心座標$(x_1,x_2,x_3 \cdots x_n)$
則對於任意兩個點$(a_1,a_2 \cdots a_n),(b_1,b_2 \cdots b_n)$,得到$(x_1-a_1)^2+(x_2-a_2)^2 \cdots (x_n-a_n)^2=(x_1-b_1)^2+(x_2-b_2)^2 \cdots (x+n-b_n)^2$
移項後得到$2(a_1-b_1)x_1+2(a_2-b_2)x_2 \cdots 2(a_n-b_n)x_n = ^2-^2+^2-^2 \cdots ^2-^2$
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #includeview code11#define ll long long
12#define db double
13#define inf 2139062143
14#define maxn 200100
15#define rep(i,s,t) for(register int i=(s),i##__end=(t);i<=i##__end;++i)
16#define dwn(i,s,t) for(register int i=(s),i##__end=(t);i>=i##__end;--i)
17#define ren for(register int i=fst[x];i;i=nxt[i])
18#define fill(x,t) memset(x,t,sizeof(x))
19#define pls(a,b) (a+b)%mod
20#define mns(a,b) (a-b+mod)%mod
21#define mul(a,b) (1ll*(a)*(b))%mod
22using
namespace
std;
23 inline int
read()
2427
while(isdigit(ch))
28return x*f;29}
30int n;db a[15][15],g[15][15
];31 db sqr(db x)
32void
gauss()
3340 dwn(i,n-1,0) 41}
42int
main()
43
bzoj 3270
題目大意:
一開始兩個人在$s,t$兩個點,當乙個人在$i$點時,有$p_i$的概率不動,有$1-p_i$的概率向相鄰的點等概率移動
如果兩個人在乙個點相遇就停止,求他們在每個點相遇的概率
思路:設$f(i,j)$表示兩個人在$i,j$的概率,設$x,y$分別為$i,j$的前驅
很容易得到方程$f(i,j)=\sum (i==x?p_x:\frac)*(j==y?p_y:\frac)$
對於$f(s,t)$概率為$1$,其餘為$0$,一共$n^2$個方程消元即可
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #includeview code11#define ll long long
12#define db double
13#define inf 2139062143
14#define maxn 200100
15#define rep(i,s,t) for(register int i=(s),i##__end=(t);i<=i##__end;++i)
16#define dwn(i,s,t) for(register int i=(s),i##__end=(t);i>=i##__end;--i)
17#define ren for(register int i=fst[x];i;i=nxt[i])
18#define fill(x,t) memset(x,t,sizeof(x))
19#define pls(a,b) (a+b)%mod
20#define mns(a,b) (a-b+mod)%mod
21#define mul(a,b) (1ll*(a)*(b))%mod
22using
namespace
std;
23 inline int
read()
2427
while(isdigit(ch))
28return x*f;29}
30int n,m,ss,tt,mp[35][35],d[35];db a[410][410],p[35
];31
void gauss(int
n)32
39 dwn(i,n-1,0) 40}
41 inline int t(int x,int y)
42int
main()
4353 gauss(n*n);rep(i,1,n) printf("
%.6lf
",a[t(i,i)][n*n]);
54 }
高斯消元 小白系列
在oi的海洋中,數學作為萬科之基礎,當然佔了很大的比重。讓我們來一起感受oi和數學之間的樂趣吧。高斯消元聽上去很高大上,其實只是解多元一次方程組的最常用方法。而這種方法就是我們小學學過的加減消元。首先我們來看乙個三元一次方程組 x 2y 3z 6 4x 5y 6z 12 7x 8y 10z 21 資...
高斯消元 浮點高斯消元
浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...
矩陣消元 高斯消元
安利一波高斯消元的部落格,內容很詳細。看完這個相信你已經理解了大概,高斯消元求線性方程組,在學習線性代數 大學課程 的時候我們都接觸過。原理是先把執行緒組轉換成矩陣,然後把它等價變換成上三角矩陣,這樣從下到上依次可以求出解集。高斯消元模板 模板題 include define n 205 using...