身体训练
牛客網
時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32768K,其他語言65536K 64bit IO Format:
%lld
題目描述
美團外賣的配送員用變速跑的方式進行身體訓練。 他們訓練的方式是:n個人排成一列跑步,前后兩人之間相隔 u 米,每個人正常速度均為 v
米/秒。 當某個配送員排在最后的時候,他需要以當時自己的最高速度往前跑,直到超過排頭的人 u 米,然后降回到原始速度 v
米/秒。每個人最初的最高速度為c[i] 米/秒,每輪衰減d[i]
米/秒,也就是說,如果i是第j個跑的,那么他的速度就是c[i]-(j-1)*d[i] 米/秒。
n個人初始以隨機的順序排列,每種順序的概率完全相等,跑完一輪(每個人都追到排頭一次,序列恢復原樣)的期望需要的時間是多少?
輸入描述:
第一行整數n(<=1000), 實數v(<=100) , 實數u(<=10) 第二行n個實數每個人的速度c[i](<=50000)
第三行n個實數值每個人衰減量d[i](<=10)
輸入數據保證每個人的速度不會衰減到<=v
輸出描述:
答案保留3位小數。
示例1
輸入
輸出
復制
題解:
因為除了最后一個人,其他人速率相同,那么就可以把大家都看做靜止的,最后一個人的速度就是V(原本)-V(其他人的速度),可以理解成相對速度
題目問跑完一輪,說明每個人在每個位置都會經歷一遍。雖然每個快遞員位置未定,在每個位置上概率都是1/n,但是無論是什么位置,快遞員要跑的相對路長是一定的,都是un。
(相對路長就是在相對時間內跑的距離,大家都是靜止的,一共n個人,最后一名前面有n-1個人,他要從最后跑到比排頭還遠u,跨過了n個間隙,距離是un)
如果i是第j個跑的,那么他的速度就是c[i]-(j-1)*d[i] 米/秒。v是其他人的速度
相對速度就是c[i]-(j-1)*d[i]-v
距離有了速度有了,相除就可以求時間
可以求出每個快遞員跑過每個位置所需要的的時間,累加起來就可以
啥是期望?數學期望(mean)是試驗中每次可能結果的概率乘以其結果的總和
所以最后再乘以概率 1/n
總結
- 上一篇: 【每日一题】4月8日题目精讲 黑白树
- 下一篇: Maximize The Beautif