第n杯水;及重出江湖分析
今日面試題:第n杯水
有一座金字塔,從上到下,第一層有一個杯子、第二層有兩個杯子,依次類推。對杯子進行編號,有如下的形狀:
1 | ||||
2 | 3 | |||
4 | 5 | 6 |
每個杯子的容量為C升,從塔頂倒下L升水,當1號杯子滿了之後,會等量溢位到2號和3號杯子。當2號和3號滿了,2號溢位到4號和5號,3號溢位到5號和6號,注意5號接受來自兩個杯子的水。依次類推。給定C和L,請問,第n杯裡有多少水。
重出江湖分析
原題
n個色子,每個色子m面,每一面的值分別是1-m。你將n個色子同時拋,落地後將所有朝上面的數字加起來,記為sum。給定一個數字x,如果sum>x,則你贏。給定n,m,x,求你贏的概率。
- 1<=n<=100
- 1<=m<=10
- m<=x< n*m
分析
這個題目的描述,是將具體的問題一般化了。掌握了,這個問題的分析,就可以對這類問題通吃。一個具體的情況是什麼呢?兩個色子,每個色子六面,同時拋,求朝上數字和大於某一個值的概率。這個情況比較簡單,兩個色子同時拋,一共36種情況,注意這裡有的和是相同的。此時,最少可以通過窮舉的方法,得到答案。但是本題中的意思,顯然是無法通過窮舉呢?那該如何分析呢?
n個色子,每個色子m面。則一共有m^n中情況(類比上面分析的36種情況)。在這些裡面,有多少個和是大於x的呢?假設,f(n,x)表示n個色子,所有朝上的數字和是x的情況數量。對於某一個色子,每一面朝上的概率是1/m。假設這個色子的k面朝上,1<=k<=m,則f(n,x) = sum{f(n - 1, x - k)} 1<=k<=m。遞迴的終止條件是,當只有一個色子的時候,f(1,k) = 1, 1<=k<=m,其他都是0
則最終的概率為(f(n, x + 1) + … + f(n, m*n)) / m^n。每一個大於x的和的可能情況數量之和除以總的情況數量。
以2個6面色子為例,驗證上面的公式。
和 | 情況數 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 4 |
6 | 5 |
7 | 6 |
8 | 5 |
9 | 4 |
10 | 3 |
11 | 2 |
12 | 1 |
取和大於10的概率,即2/36+1/36 = 3/36 = 1/12。
根據上面的公式,(f(2, 11) + f(2, 12)) / 12
- f(2, 11) = f(1, 10) + f(1, 9) + f(1, 8) + f(1, 7) + f(1, 6) + f(1, 6) = 2
- f(2, 12) = f(1, 11) + f(1, 10) + f(1, 9) + f(1, 8) + f(1, 7) + f(1, 6) = 1
則概率為3/12,與窮舉方法一致。
【分析完畢】
本文來自微信:待字閨中,2013-07-30釋出,原創@陳利人 ,歡迎大家繼續關注微信公眾賬號“待字閨中”。
相關文章
- 最大矩形;及第n杯水分析
- 重出江湖;及選擇旅遊國家分析
- 藍橋杯-N皇后
- 藍橋杯 (java) 第39級階梯Java
- 360護心鏡指令碼分析及N種繞過方式指令碼
- 藍橋杯第9場小白入門賽
- 第14屆藍橋杯B組國賽
- CSS 第N個子元素樣式CSS
- JavaScript 獲取第n個li元素JavaScript
- Nth Digit 第N個數字Git
- jQuery查詢第n個li元素jQuery
- 分析函式——NTILE(n)函式
- rownum—top-N分析
- Mirai殭屍網路重出江湖AI
- css如何匹配倒數第n個元素CSS
- LeetCode 第 50 題 (Pow(x, n))LeetCode
- 一天8杯水?真的太多了!Science重磅:首個「飲水公式」出爐,你可能一直沒喝對公式
- 第 29 期 Go opentracing jaeger 整合及原始碼分析Go原始碼
- CSS 倒數第n個li元素樣式CSS
- 獲取陣列第N個元素的方法陣列
- CSS設定第n個li元素樣式CSS
- CSS 設定第n個li元素樣式CSS
- 科技愛好者週刊(第 297 期):飲水鳥玩具
- 斐波那契數列的第N項(1≤n≤10^18 矩陣快速冪)矩陣
- Redis 的第 n 次涉及,我該普及普及了Redis
- Redis 的第 n 次涉及,我該整理整理了Redis
- jQuery在元素集合中獲取第N個元素jQuery
- 求無序陣列總第n大的數陣列
- 歪批IT之二十二:第N方物流(轉)
- css 實現豎直居中的 N 種場景及 N 種方法CSS
- Linux 下vi 學習之查詢 - 向前 向後 n 及NLinux
- 第20課 SPI協議詳解及裸機程式開發分析協議
- LeetCode878. 第 N 個神奇數字(java)LeetCodeJava
- L1-050 倒數第N個字串 (15分)字串
- 【杯具的分析師-人人都是昏析師】
- 藍橋杯練習試題程式碼及講解
- CSS 設定從第n個開始li元素樣式CSS
- jquery獲取指定li元素後面的第n個li元素jQuery