題意是給定一長為 l 的木棒,每次任意切去一部分直到剩餘部分的長度不超過 d,求切割次數的期望。
若木棒初始長度不超過 d,則期望是 0.000000;
設切割長度為 x 的木棒切割次數的期望是 f(x).
則 f(x) = f(切割點位置為 0 ~ d) + f(切割點位置為 d ~ x ) + 1;(此處的 +1 是指首次切割產生的次數)
而 f(切割點位置為 0 ~ d ) = 0;(因為已無需再切割)
令下一次切割點的位置為 t,
f(切割點位置為 d ~ x ) = 在d~x上積分 ( 1 / x ) * f( t ) dt ;(在長度為 x 的木棒上選擇到任何一點切割的概率為 1 / x)
f( x ) = f(切割點位置為 0 ~ d) + f(切割點位置為 d ~ x ) + 1 = 0 + 在d~x上積分 ( 1 / x ) * f( t ) dt + 1
兩邊求導:f『( x ) = - ( 1 / x² ) * ∫ f( t ) dt + f( x ) / x;(積分區間均為 d ~ x)
又: f( x ) = ∫ ( 1 / x ) * f( t ) dt + 1
得: - ( 1 / x² ) * ∫ f( t ) dt = ∫ ( 1 / x ) * f( t ) dt / ( -1 / x ) = ( f(x) - 1 ) / ( -1 / x )
則: f』( x ) = - ( 1 / x² ) * ∫ f( t ) dt + f( x ) / x = ( f(x) - 1 ) / ( -1 / x ) + f( x ) / x = 1 / x
即: f( x ) = ln( x ) + c ( c為常數 )
由 f( d ) = 1,得:c = 1 - ln( d )
得:f( l ) = ln( l ) + 1 - ln( d ) = log( l / d ) + 1.
**如下:
1 #include 2view codeusing
namespace
std;
3int
main()414
return0;
15 }
hdu5984 數學期望(詳細具體推理)
題目大意 給定一根長度為l的木棒,每次等概率的取乙個點將其分成兩段,然後吃掉左邊的,如此重複直到剩下的長度小於d,求分割次數的期望 設f x 為長度為x的木棒的期望。1 當x d時,已經不用分割了,故期望f x 0 2 當x d時,f x 1 f 0 d f d x 1 表示在長度為x的木棒上分割一...
hdu5984 Pocky(猜數學期望公式)
題目大意 對於一根長度為l的木棍,每次等概率的取乙個點將其分成兩半,然後吃掉左邊一半,直到剩下的長度小於d,計算需要吃 分割 次數的數學期望 題目思路 顯然,如果l d相同,則結果必定相同 根據ln2 0.693147可以推測出結果應該是ln l d 1 再單獨考慮不需要分割的情況 d l 居然還可...
hdu 求平均成績
假設乙個班有n n 50 個學生,每人考m m 5 門課,求每個學生的平均成績和每門課的平均成績,並輸出各科成績均大於等於平均成績的學生數量。input 輸入資料有多個測試例項,每個測試例項的第一行包括兩個整數n和m,分別表示學生數和課程數。然後是n行資料,每行包括m個整數 即 考試分數 outpu...