網易程式設計題 概率論方面

2021-07-28 00:26:32 字數 997 閱讀 7197

[程式設計題] 賽馬

在一條無限長的跑道上,有n匹馬在不同的位置上出發開始賽馬。當開始賽馬比賽後,所有的馬開始以自己的速度一直勻速前進。每匹馬的速度都不一樣,且全部是同樣的均勻隨機分布。在比賽中當某匹馬追上了前面的某匹馬時,被追上的馬就出局。 請問按以上的規則比賽無限長的時間後,賽道上剩餘的馬匹數量的數學期望是多少 

輸入描述:

每個測試輸入包含1個測試用例

輸入只有一行,乙個正整數n

1 <= n <= 1000

輸出描述:

輸出乙個浮點數,精確到小數點後四位數字,表示剩餘馬匹數量的數學期望

輸入例子:

1

2

輸出例子:

1.0000

1.5000

#include using namespace std;  

int main()

printf("%.4f\n", ans);

return 0;

}

為什麼這樣?

思路分析:題目看上去有點費解,個人更感覺像是一道智力題。我們假設有n匹馬賽跑,最後剩下的那個是冠軍。注意題目中說每個馬的速度不一樣,這就說明最後只會剩下乙個馬,不可能出現並列的情況。另外數學期望的意思就是如果這匹馬的編號是i,那p(i)表示i是冠軍的概率,就是數學期望。可以這樣想一下:如果只有一匹馬,那麼這匹馬肯定是冠軍,數學期望顯然是1。如果有兩匹馬,那麼某一匹馬是冠軍的概率是0.5,某一時刻其中乙個馬被淘汰了,那麼另乙個馬的數學期望變成1,相加就是1.5。依次類推,如果剛開始有n匹馬,p(i) = 1 / n,某一時刻p(i) = 1 / (n - 1)、1/(n - 2)......所以這道題的答案就是計算1 + 1  /  2 + 1 / 3 + 1 / 4 + ... + 1 / n的和,就是調和級數。

另外見群裡有acm大神說根據某某定理,先打個表,然後高精度運算得出結果,沒聽懂他的做法。我感覺調和級數這個還是好理解的。

概率論學習

離散型隨機變數的值和概率的分布列表 在很多教材中,這樣的列表都被叫做離散型隨機變數的 概率分布 其實嚴格來說,它應該叫 離散型隨機變數的值分布和值的概率分布列表 這個名字雖然比 概率分布 長了點,但是對於我們這些笨學生來說,肯定好理解了很多。因為這個列表,上面是值,下面是這個取值相應取到的概率,而且...

概率論基礎

概率論 第一章 隨機事件及其概率 分為兩類 1.確定性現象 2.隨機現象 1.1隨機事件及其運算 1.隨機試驗與樣本空間 隨機試驗具有下列三個特徵 1 試驗可在相同條件下重複進行 2 試驗的結果不止乙個 3 每次實驗之前,不能判定哪乙個結果將會出現 用e表示隨機試驗。試驗e中的每乙個可能結果稱為基本...

概率論筆記

注 本文用 表示並運算,表示交運算,a 表示a的逆事件 樣本空間 乙個試驗中所有可能情況組成的集合 事件的關係與運算 a包含於b a發生 b發生 a並b a與b的和事件 a或b發生 a交b a與b的積事件 ab同時發生 a b a與b的差事件 a發生b不發生 a b互斥 不相容 a交b 空集 a b...