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

一個抽號碼問題

前些天在論壇上看到一個看似簡單,其實挺有意思的問題:

【20個連續(xù)的號碼中抽出6個來,要求6個號碼不能相連,有多少種抽法?】

這問題的本意應(yīng)該是兩兩不相連的情況。

首先定義一個函數(shù),F(xiàn)(m,p), m是確定抽出幾個號碼,p是總共有幾個號碼,那么
F(m,p)的值域就是代表在p個連續(xù)號碼中,抽出兩兩不相連的m個號碼,總共有幾種組合;

接著確定狀態(tài)轉(zhuǎn)移方程,經(jīng)過觀察,p必須滿足條件p >= m*2-1,否則F就為0,同時
F(6,20) = F(5,18) + F(5,17) + F(5,16) + ... + F(5,9);

因此可以得出如下狀態(tài)轉(zhuǎn)移方程,
當(dāng) p > m*2-1,F(xiàn)(m,p) = Sigma(F(m-1,q)) + 1;其中q 從(m-1)*2 到 p-2;
當(dāng) p == m*2-1,F(xiàn)(m,p) = 1;
當(dāng) p < m*2-1,F(xiàn)(m,p) = 0;

雖然分析到此,已可以著手具體實現(xiàn),但是還是有些問題值得進(jìn)一步分析,比如F(m,p)和F(m,p-1)之間存在何種關(guān)系,若使用遞歸,就當(dāng)前這個問題效率估計會是問題;

因此對此方程進(jìn)一步分析,
F(5,18) = Sigma(F(4,q))+ F(4,7);q從8到16
F(5,17) = Sigma(F(4,q))+ F(4,7);q從8到8;
...
可進(jìn)一步推出,
當(dāng) p > m*2-1, F(m,p) = F(m,p-1) + F(m-1,p-2);

這樣我們就得到了可以進(jìn)行遞推實現(xiàn)的轉(zhuǎn)態(tài)轉(zhuǎn)移方程;
另外,對于m == 1的情形,顯然F(1,p) = p ;


#include<stdio.h>
#include<conio.h>

#define MAXLEN 10000

static int F[MAXLEN];
static int R[MAXLEN];

int Compute(
    const int cM,
    const int cP)
{
  if (cM <= 0 || cP < (cM*2-1))
    return 0;
  if (cM == 1)
    return cP;
  if (cP == cM*2-1)
    return 1;

  for(int i = 0; i < MAXLEN; ++i) R[i] = i;

  for(int m = 2; m <= cM; ++m)
  {
    int floof = 2*m;
    int ceiling = cP-2*(cM-m);
    F[2*m-1] = 1;
    for(int p = floof; p <= ceiling; ++p)
        F[p] = F[p-1] + R[p-2];
    for(int j = floof; j <= ceiling; ++j)
        R[j] = F[j];
  }
  return F[cP];
}

main()
{
  Compute(6,20);
//  Compute(6,19);
//  Compute(5,18);
//  Compute(5,17);
//  Compute(4,16);
//  Compute(6,13);
//  Compute(6,12);

//  Compute(5,11);
//  Compute(5,10);
//  Compute(4,9);
//  Compute(4,8);
//  Compute(3,7);
  return 0;
}

接著再對目前的整個實現(xiàn)做下復(fù)雜度分析,主要處理部分基本上由兩個循環(huán)構(gòu)成,對于R數(shù)組的初始化可作為常數(shù)項不計,那么

大O( F(m,p) ) = O( m*(ceiling-floor) )
              = O( m*(p-2*m) )
              近似于O( m*p ),
若m << p,顯然O(F(m,p)) = p;
若m 近似 p, 但事實上必須p >= 2*m - 1,否則F值就接近0或1,因此O(F(m,p)) 近似于const;
所以綜合來看上面的這個實現(xiàn)在時間上是個線性復(fù)雜度的實現(xiàn);在空間上,使用了兩個長度至少為p的數(shù)組,個人認(rèn)為可以對此進(jìn)行進(jìn)一步優(yōu)化。

對于F(6,20) = 5005

整個實現(xiàn)在TC++ 3.0上驗證通過。


posted on 2010-12-03 10:53 flagman 閱讀(1350) 評論(1)  編輯 收藏 引用 所屬分類: 算法 Algorithm

評論

# re: 一個抽號碼問題 2011-03-29 18:48 dp2

嘿嘿嘿嘿

給你一個純數(shù)學(xué)解法,我記得以前在algo@newsmth貼過

首先,這個問題是在20個點中選擇6個不連續(xù)的點,把20個點分成5-7份:

x1+x2+x3+...+x7 = 14

其中x1,x7>=0,x2,x3,...,x6>0

這個方程的解數(shù)就是我們要找的那個數(shù)量。

然后這個方程的解與以下方程相同:

(x1 + 1)+x2+x3+...+(x7 + 1) = 16

即:7個正整數(shù)之和為16,有多少種解

這個問題又和16個點,中間的15個空選6個,分成7份相同

于是原題的解為

C(15, 6) = 5005  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美精品一区二区三区久久久竹菊 | 国产伊人精品| 久久久精品国产免费观看同学| 亚洲欧美日韩视频二区| 欧美日韩免费高清| 午夜日本精品| 美女视频网站黄色亚洲| 一区二区国产精品| 国产在线视频欧美| 日韩视频在线播放| 伊人久久婷婷色综合98网| 99精品热视频| 黑人巨大精品欧美黑白配亚洲 | 中文一区二区在线观看| 韩国一区二区三区在线观看| 久久久久欧美精品| 欧美连裤袜在线视频| 免费在线观看一区二区| 激情综合色综合久久| 欧美成人精品在线视频| 新狼窝色av性久久久久久| 免费在线亚洲| 亚洲区第一页| 韩日精品视频| 99国产成+人+综合+亚洲欧美| 亚洲二区在线视频| 久久久一二三| 久久一区二区视频| 好看不卡的中文字幕| 欧美一区二区三区久久精品茉莉花| 日韩视频在线免费| 欧美精品日韩一本| 欧美国产日韩a欧美在线观看| 国产亚洲欧美日韩精品| 欧美日韩免费在线视频| 久久国产精品久久久久久| 国产精品久久久爽爽爽麻豆色哟哟 | 一区二区三区欧美日韩| 欧美大片免费久久精品三p | 国产亚洲成人一区| 亚洲精品乱码久久久久久久久 | 欧美+亚洲+精品+三区| 欧美亚洲系列| 国产伦精品一区二区三区免费迷| 亚洲精品综合精品自拍| 亚洲一区二区三区国产| 国产日韩一区在线| 久久香蕉国产线看观看网| 亚洲欧洲精品成人久久奇米网 | 久久国产手机看片| 亚洲精品少妇网址| 欧美肥婆在线| 乱中年女人伦av一区二区| 中文在线资源观看网站视频免费不卡 | 久久久久在线| 亚洲天堂男人| 精品1区2区3区4区| 国产精品每日更新在线播放网址| 免费91麻豆精品国产自产在线观看| 亚洲人成在线免费观看| 久久天天狠狠| 香蕉精品999视频一区二区| 亚洲欧洲视频在线| 在线高清一区| 亚洲国产三级在线| 国产一区二区三区视频在线观看| 欧美看片网站| 欧美日韩国产成人高清视频| 美日韩免费视频| 免费短视频成人日韩| 久久在线播放| 蜜臀av在线播放一区二区三区| 久久久综合网站| 久久精品91| 久久精品国产免费看久久精品| 亚洲精品一二三区| 亚洲精品一级| 亚洲男人av电影| 亚洲欧洲99久久| 久久精品毛片| 免费亚洲电影在线观看| 欧美.日韩.国产.一区.二区| 欧美va亚洲va日韩∨a综合色| 久久夜色精品国产噜噜av| 久久亚洲综合网| 亚洲国产另类久久久精品极度| 亚洲国产欧美一区| 亚洲无吗在线| 久久精品国产亚洲一区二区| 久久久久九九九九| 欧美日韩综合在线免费观看| 国产精品成人在线观看| 在线观看国产日韩| 午夜久久电影网| 欧美激情在线免费观看| 午夜精品久久久久久久99黑人| 久久综合电影| 国产午夜亚洲精品理论片色戒| 亚洲精品久久嫩草网站秘色| 亚洲一区二区在线| 亚洲国产你懂的| 久久久久国产精品麻豆ai换脸| 欧美日韩国产综合视频在线观看中文 | 亚洲一级影院| 欧美精品一区在线| 极品少妇一区二区| 久久gogo国模裸体人体| 99精品福利视频| 欧美黄色影院| 欧美在线免费观看| 欧美日韩一区二| 一区二区三区四区五区在线| 久久―日本道色综合久久| 亚洲欧美日韩区| 欧美午夜不卡视频| 中文在线资源观看视频网站免费不卡| 欧美韩日视频| 欧美激情一区二区三区成人| 亚洲韩国日本中文字幕| 欧美aⅴ一区二区三区视频| 久久精品日韩欧美| 日韩亚洲国产欧美| 国产精品久久久久久av福利软件 | 亚洲一区一卡| 亚洲欧美影音先锋| 国产在线拍偷自揄拍精品| 久久人人爽国产| 欧美精品色一区二区三区| 日韩一本二本av| 午夜精品一区二区三区电影天堂| 国产精品久久久久久亚洲毛片 | 亚洲影院一区| 国产亚洲精品bv在线观看| 免费观看亚洲视频大全| 国内外成人免费视频| 欧美不卡三区| 国产夜色精品一区二区av| 免费成人av在线看| 国产精品久久久久久久久婷婷| 久久免费国产| 国产精品毛片| 亚洲毛片av| 亚洲美女av黄| 蜜桃av噜噜一区| 麻豆亚洲精品| 黄色成人在线| 欧美一区二区黄| 久久福利影视| 国产日韩三区| 欧美一区二区三区在线免费观看| 欧美a级理论片| 欧美3dxxxxhd| 在线日韩日本国产亚洲| 久久riav二区三区| 亚洲欧美日韩一区二区| 欧美日韩综合在线免费观看| 亚洲高清不卡一区| 亚洲精品一区中文| 欧美岛国激情| 一区二区精品国产| 亚洲一区二区三区精品在线观看 | 久久国产精品网站| 久久日韩精品| 99精品久久免费看蜜臀剧情介绍| 欧美电影免费观看| 一区二区三区高清在线| 久久精品国产免费观看| 尤物在线观看一区| 欧美精品免费在线| 午夜精品福利一区二区三区av | 亚洲大片免费看| 亚洲第一天堂av| 欧美日本在线一区| 欧美亚洲免费高清在线观看| 久久久久九九视频| 一区二区高清视频| 国产亚洲毛片在线| 欧美人与禽性xxxxx杂性| 亚洲综合清纯丝袜自拍| 亚洲第一在线| 久久黄金**| 亚洲精品国产精品乱码不99| 欧美亚洲不卡| 欧美—级a级欧美特级ar全黄| 亚洲影院在线| 亚洲高清电影| 欧美暴力喷水在线| 欧美一区二区成人6969| 亚洲精品日韩久久| 在线观看欧美激情| 国产免费成人在线视频| 亚洲国产99精品国自产| 久久欧美肥婆一二区| 国产精品乱码人人做人人爱| 久久综合九色欧美综合狠狠| 亚洲婷婷综合久久一本伊一区| 亚洲日本欧美日韩高观看| 亚洲成色777777女色窝| 免费成人av| 亚洲人成网站777色婷婷|