【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                【BZOJ1778】[Usaco2010 Hol]Dotp 驅逐豬玀
Description
奶牛們建立了一個隨機化的臭氣炸彈來驅逐豬玀。豬玀的文明包含1到N (2 <= N <= 300)一共N個豬城。這些城市由M (1 <= M <= 44,850)條由兩個不同端點A_j和B_j (1 <= A_j<= N; 1 <= B_j <= N)表示的雙向道路連接。保證城市1至少連接一個其它的城市。一開始臭氣彈會被放在城市1。每個小時(包括第一個小時),它有P/Q (1 <= P <=1,000,000; 1 <= Q <= 1,000,000)的概率污染它所在的城市。如果這個小時內它沒有污染它所在的城市,那麼它隨機地選擇一條道路,在這個小時內沿著這條道路走到一個新的城市。可以離開這個城市的所有道路被選擇的概率均等。因為這個臭氣彈的隨機的性質,奶牛們很困惑哪個城市最有可能被污染。給定一個豬玀文明的地圖和臭氣彈在每個小時內爆炸的概率。計算每個城市最終被污染的概率。如下例,假設這個豬玀文明有兩個連接在一起的城市。臭氣炸彈從城市1出發,每到一個城市,它都有1/2的概率爆炸。 1--2 可知下面這些路徑是炸彈可能經過的路徑(最后一個城市是臭氣彈爆炸的城市): 1: 1 2: 1-2 3: 1-2-1 4: 1-2-1-2 5: 1-2-1-2-1 ... 要得到炸彈在城市1終止的概率,我們可以把上面的第1,第3,第5……條路徑的概率加起來,(也就是上表奇數編號的路徑)。上表中第k條路徑的概率正好是(1/2)^k,也就是必須在前k-1個回合離開所在城市(每次的概率為1 - 1/2 = 1/2)并且留在最后一個城市(概率為1/2)。所以在城市1結束的概率可以表示為1/2 + (1/2)^3 + (1/2)^5 + ...。當我們無限地計算把這些項一個個加起來,我們最后會恰好得到2/3,也就是我們要求的概率,大約是0.666666667。這意味著最終停留在城市2的概率為1/3,大約為0.333333333。Input
* 第1行: 四個由空格隔開的整數: N, M, P, 和 Q * 第2到第M+1行: 第i+1行用兩個由空格隔開的整數A_j和B_j表示一條道路。Output
* 第1到第N行: 在第i行,用一個浮點數輸出城市i被摧毀的概率。誤差不超過10^-6的答桉會 被接受(注意這就是說你需要至少輸出6位有效數字使得答桉有效)。Sample Input
2 1 1 21 2
Sample Output
0.6666666670.333333333
題解:好吧上來先Orz PoPoQQQ
然后本蒟蒻連題解都看了半天才懂,這里就做一下題解的注釋吧~
1.矩陣的等比數列。。。什么鬼?
矩陣也是滿足結合律的,跟數一樣
2.為什么[I-T]乘過來后跑到了ans右邊?
不然矩乘沒有意義。。。
3.為什么要對[I-T]的轉置求高斯消元?
因為矩乘的法則和方程組的運算法則是不一樣的~你yy一下后會發現正好相反
轉載于:https://www.cnblogs.com/CQzhangyu/p/7054247.html
總結
以上是生活随笔為你收集整理的【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: echarts 柱状图
- 下一篇: C#基础--类/接口/成员修饰符,多态、
