算法----bonus dumplings - L.J.SHOU的专栏 - 博客频道 - CSDN.NET



算法----bonus dumplings - L.J.SHOU的专栏 - 博客频道 - CSDN.NET

题目描述

过年了,妈妈做了100只饺子,其中有10只饺子里面有1块的硬币。
小明依次吃这100只饺子,如果小明连续吃到k个硬币,那么小明得到k-1个硬币。

e.g. 110111表示6只饺子,1表示有硬币,0表示没有。11表示连续吃到2个饺子,那么小明得1个硬币;111连续迟到3个,小明得2个硬币;故,小明共得到3个硬币。

问小明得到的硬币的期望值是多少?

分析

期望定义: E(X)=iXiP(Xi)

在本题中,随机事件X即为小明最终得到的硬币数目,x[0,9]

  • 计算P(Xi)=cases(x=i)allcases
  • 计算期望

那么原问题就简化为小明得到硬币k,所有可能的cases的数目。

采用动态规划,子问题定义如下

  • f[i][j][k]――前i个饺子,含j个有硬币的饺子,得分是k,且第i个饺子不含硬币,所有可能的情况的总数。
  • g[i][j][k]――前i个饺子,含j个有硬币的饺子,得分是k,且第i个饺子含硬币,所有可能的情况的总数。

那么递推公式如下,

  • f[i][j][k]―-第i个饺子不包含硬币,所以不用第i个饺子
    • f[i][j][k] = f[i-1][j][k] + g[i-1][j][k]
  • g[i][j][k]―-第i个饺子包含硬币,那么这个硬币能够得到,取决于第i-1个饺子是否包含硬币
    • g[i][j][k] = f[i-1][j-1][k] + g[i-1][j-1][k-1]

Read full article from 算法----bonus dumplings - L.J.SHOU的专栏 - 博客频道 - CSDN.NET


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts