青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 200, comments - 8, trackbacks - 0, articles - 0

題目:

已知一個函數(shù)rand7()能夠生成1-7的隨機數(shù),請給出一個函數(shù),該函數(shù)能夠生成1-10的隨機數(shù)。


思路:

假如已知一個函數(shù)能夠生成1-49的隨機數(shù),那么如何以此生成1-10的隨機數(shù)呢?


解法:

該解法基于一種叫做拒絕采樣的方法。主要思想是只要產生一個目標范圍內的隨機數(shù),則直接返回。如果產生的隨機數(shù)不在目標范圍內,則丟棄該值,重新取樣。由于目標范圍內的數(shù)字被選中的概率相等,這樣一個均勻的分布生成了。

顯然rand7至少需要執(zhí)行2次,否則產生不了1-10的數(shù)字。通過運行rand7兩次,可以生成1-49的整數(shù),

   1  2  3  4  5  6  7 1  1  2  3  4  5  6  7 2  8  9 10  1  2  3  4 3  5  6  7  8  9 10  1 4  2  3  4  5  6  7  8 5  9 10  1  2  3  4  5 6  6  7  8  9 10  *  * 7  *  *  *  *  *  *  *
由于49不是10的倍數(shù),所以我們需要丟棄一些值,我們想要的數(shù)字范圍為1-40,不在此范圍則丟棄并重新取樣。

代碼:

  1. int rand10() {  
  2.   int row, col, idx;  
  3.   do {  
  4.     row = rand7();  
  5.     col = rand7();  
  6.     idx = col + (row-1)*7;  
  7.   } while (idx > 40);  
  8.   return 1 + (idx-1)%10;  
  9. }  

由于row范圍為1-7,col范圍為1-7,這樣idx值范圍為1-49。大于40的值被丟棄,這樣剩下1-40范圍內的數(shù)字,通過取模返回。下面計算一下得到一個滿足1-40范圍的數(shù)需要進行取樣的次數(shù)的期望值:

E(# calls to rand7) = 2 * (40/49) +                       4 * (9/49) * (40/49) +                       6 * (9/49)2 * (40/49) +                       ...                                             =  2k * (9/49)k-1 * (40/49)                       k=1                      = (80/49) / (1 - 9/49)2                     = 2.45
優(yōu)化:

上面的方法大概需要2.45次調用rand7函數(shù)才能得到1個1-10范圍的數(shù),下面可以進行再度優(yōu)化。

對于大于40的數(shù),我們不必馬上丟棄,可以對41-49的數(shù)減去40可得到1-9的隨機數(shù),而rand7可生成1-7的隨機數(shù),這樣可以生成1-63的隨機數(shù)。對于1-60我們可以直接返回,而61-63則丟棄,這樣需要丟棄的數(shù)只有3個,相比前面的9個,效率有所提高。而對于61-63的數(shù),減去60后為1-3,rand7產生1-7,這樣可以再度利用產生1-21的數(shù),對于1-20我們則直接返回,對于21則丟棄。這時,丟棄的數(shù)就只有1個了,優(yōu)化又進一步。當然這里面對rand7的調用次數(shù)也是增加了的。代碼如下:

  1. int rand10Imp() {  
  2.   int a, b, idx;  
  3.   while (true) {  
  4.     a = rand7();  
  5.     b = rand7();  
  6.     idx = b + (a-1)*7;  
  7.     if (idx <= 40)  
  8.       return 1 + (idx-1)%10;  
  9.     a = idx-40;  
  10.     b = rand7();  
  11.     // get uniform dist from 1 - 63  
  12.     idx = b + (a-1)*7;  
  13.     if (idx <= 60)  
  14.       return 1 + (idx-1)%10;  
  15.     a = idx-60;  
  16.     b = rand7();  
  17.     // get uniform dist from 1-21  
  18.     idx = b + (a-1)*7;  
  19.     if (idx <= 20)  
  20.       return 1 + (idx-1)%10;  
  21.   }  
  22. }  
下面計算下優(yōu)化后方法的調用rand7函數(shù)的期望次數(shù):

E(# calls to rand7) = 2 * (40/49) +                       3 * (9/49) * (60/63) +                       4 * (9/49) * (3/63) * (20/21) +                         (9/49) * (3/63) * (1/21) *                       [ 6 * (40/49) +                         7 * (9/49) * (60/63) +                         8 * (9/49) * (3/63) * (20/21) ] +                        ((9/49) * (3/63) * (1/21))2 *                       [ 10 * (40/49) +                         11 * (9/49) * (60/63) +                         12 * (9/49) * (3/63) * (20/21) ] +                       ...                      = 2.2123
這里期望次數(shù)為2.21,比起未優(yōu)化的2.45次減少了大概10%。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲女性喷水在线观看一区| 国产人成精品一区二区三| 中文av一区二区| 精品粉嫩aⅴ一区二区三区四区| 你懂的亚洲视频| 久久久久久亚洲精品杨幂换脸| 亚洲区欧美区| 亚洲国产美女| 你懂的国产精品| 亚洲欧美国产毛片在线| 欧美大片在线观看| 欧美一区二区在线看| 亚洲精品欧美| 最新国产の精品合集bt伙计| 欧美中在线观看| 国产精品一区亚洲| 欧美亚洲在线视频| 99国产精品国产精品久久| 亚洲免费黄色| 亚洲综合好骚| 欧美久久电影| 国产日韩亚洲欧美| 在线综合欧美| 亚洲第一区在线观看| 亚洲欧美清纯在线制服| 欧美v日韩v国产v| 欧美视频一区二区三区| 亚洲人屁股眼子交8| 久久精品亚洲国产奇米99| 亚洲综合成人婷婷小说| 国产精品高精视频免费| 日韩视频―中文字幕| 欧美日本成人| 精品69视频一区二区三区| 久久久7777| 久久理论片午夜琪琪电影网| 国产亚洲一区二区三区| 久久久夜夜夜| 欧美成人亚洲| 欧美一区二区观看视频| 亚洲第一福利视频| 欧美激情网站在线观看| 亚洲在线视频一区| 欧美视频三区在线播放| 欧美国产日韩精品免费观看| 久久不见久久见免费视频1| 亚洲欧美福利一区二区| 亚洲在线黄色| 免费在线观看成人av| 亚洲伊人伊色伊影伊综合网| 一区精品在线播放| 黑人极品videos精品欧美裸| 国产欧美在线| 性欧美xxxx大乳国产app| 亚洲东热激情| 亚洲一区二区成人在线观看| 国产精品久久毛片a| 国产精品老牛| 欧美日韩在线免费| 欧美日韩另类视频| 欧美另类综合| 亚洲高清视频在线| 国产午夜精品久久久久久久| 一区二区欧美在线观看| 你懂的国产精品| 国产精品久久久久7777婷婷| 欧美日韩中文| 欧美国产视频日韩| 亚洲第一二三四五区| 亚洲欧洲日产国产网站| 99国产精品久久| 亚洲国产午夜| 亚洲一区二区三区视频| 国产精品夜夜夜| 亚洲美女在线视频| 在线观看国产成人av片| 亚洲精品日韩欧美| 国产亚洲一区二区三区在线观看| 欧美成人精品一区二区三区| 欧美日本中文字幕| 欧美激情中文字幕乱码免费| 亚洲性人人天天夜夜摸| 欧美影视一区| 午夜精品久久久久久久男人的天堂 | 好吊视频一区二区三区四区| 亚洲国产91色在线| 国产午夜亚洲精品不卡| 99精品国产99久久久久久福利| 亚洲狼人综合| 久久精品国产一区二区电影| 日韩午夜av电影| 免费永久网站黄欧美| 亚洲精选久久| 亚洲天堂成人| 久久精品国产亚洲一区二区三区 | 亚洲第一黄网| 久久久国产91| 亚洲风情在线资源站| 国产一区二区精品久久91| 欧美一区二区福利在线| 欧美1区2区视频| 亚洲视频在线观看视频| 国产精品欧美经典| 午夜亚洲性色福利视频| 午夜精品网站| 在线观看视频免费一区二区三区| 久久久五月婷婷| 亚洲乱码久久| 久久久免费观看视频| 亚洲二区精品| 欧美91精品| 香蕉久久夜色精品国产使用方法| 美女网站在线免费欧美精品| 亚洲少妇自拍| 亚洲国产日韩欧美| 国产一区二区三区在线免费观看| 欧美在线视屏| 亚洲影院在线观看| 亚洲日本一区二区| 欧美激情一区二区三区在线视频观看 | 美日韩精品视频免费看| 亚洲图片欧美午夜| 一本久久精品一区二区| 亚洲激情综合| 亚洲欧洲精品一区二区三区不卡 | 亚洲福利视频一区二区| 久久精品中文字幕一区二区三区| 久久精品欧美| 久久九九免费| 久久精品99国产精品| 国产精品视频内| 国产欧美日韩亚洲精品| 韩国av一区二区三区| 一区二区三区在线视频播放| 在线成人中文字幕| 精品999日本| 日韩视频免费大全中文字幕| 亚洲午夜精品国产| 欧美主播一区二区三区美女 久久精品人| 中国女人久久久| 欧美在线不卡视频| 久久国产主播精品| 国产精品永久入口久久久| 国产视频自拍一区| 91久久线看在观草草青青| 亚洲免费黄色| 欧美成人一区二区三区在线观看 | 欧美视频1区| 欧美另类综合| 欧美日韩不卡在线| 久久久久久穴| 一本色道久久综合亚洲精品按摩 | 欧美伦理91| 欧美欧美天天天天操| 国产亚洲欧美激情| 亚洲午夜成aⅴ人片| 欧美成人精品一区二区三区| 99视频一区| 女主播福利一区| 国产亚洲精品bv在线观看| 在线精品视频一区二区| 一区二区三区视频在线播放| 久久一区精品| 久久精品99国产精品日本| 国产精品久久一区主播| 国产一区视频观看| 久久国产福利| 久久精品国产亚洲一区二区| 欧美日韩大片| 一区二区三区四区五区精品| 欧美在线免费视屏| 亚洲小视频在线| 欧美第十八页| 亚洲另类在线视频| 亚洲国产成人一区| 亚洲成人自拍视频| 免费观看一区| 日韩午夜三级在线| 这里只有精品丝袜| 精品动漫一区| 亚洲作爱视频| 狠狠色伊人亚洲综合网站色| 免费观看成人| 国产精品欧美日韩一区二区| 亚洲精品欧美日韩专区| 久久久www成人免费毛片麻豆| 在线亚洲自拍| 欧美日韩国产美| 亚洲精品老司机| 激情综合中文娱乐网| 午夜精品亚洲| 亚洲一区二区视频在线观看| 欧美在线啊v| 免费不卡中文字幕视频| 精品99一区二区| 老司机一区二区| 91久久国产综合久久91精品网站| 国外成人免费视频| 中文亚洲视频在线| 欧美激情中文字幕乱码免费|