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

posts - 7, comments - 13, trackbacks - 0, articles - 37
   :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理

動態(tài)規(guī)劃題目

Posted on 2009-05-16 17:06 歲月流逝 閱讀(624) 評論(0)  編輯 收藏 引用
動態(tài)規(guī)劃 實(shí)驗(yàn)?zāi)康模豪斫鈩討B(tài)規(guī)劃的基本思想,理解動態(tài)規(guī)劃算法的兩個(gè)基本要素最優(yōu)子結(jié)構(gòu)性質(zhì)和子問題的重疊性質(zhì)。熟練掌握典型的動態(tài)規(guī)劃問題。掌握動態(tài)規(guī)劃思想分析問題的一般方法,對較簡單的問題能正確分析,設(shè)計(jì)出動態(tài)規(guī)劃算法,并能快速編程實(shí)現(xiàn)。 實(shí)驗(yàn)內(nèi)容:編程實(shí)現(xiàn)講過的例題:最長公共子序列問題、矩陣連乘問題、凸多邊形最優(yōu)三角剖分問題、電路布線問題等。本實(shí)驗(yàn)中的問題,設(shè)計(jì)出算法并編程實(shí)現(xiàn)。 習(xí)題 1. 最長公共子序列 一個(gè)給定序列的子序列是在該序列中刪去若干元素后得到的序列。確切地說,若給定序列X=,則另一序列Z=是X的子序列是指存在一個(gè)嚴(yán)格遞增的下標(biāo)序列 ,使得對于所有j=1,2,…,k有 解答如下: a) 最長公共子序列的結(jié)構(gòu) 若用窮舉搜索法,耗時(shí)太長,算法需要指數(shù)時(shí)間。 易證最長公共子序列問題也有最優(yōu)子結(jié)構(gòu)性質(zhì) 設(shè)序列X=和Y=的一個(gè)最長公共子序列Z=,則: i. 若xm=yn,則zk=xm=yn且Zk-1是Xm-1和Yn-1的最長公共子序列; ii. 若xm≠yn且zk≠xm ,則Z是Xm-1和Y的最長公共子序列; iii. 若xm≠yn且zk≠yn ,則Z是X和Yn-1的最長公共子序列。 其中Xm-1=,Yn-1=,Zk-1=。 最長公共子序列問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。 b) 子問題的遞歸結(jié)構(gòu) 由最長公共子序列問題的最優(yōu)子結(jié)構(gòu)性質(zhì)可知,要找出X=和Y=的最長公共子序列,可按以下方式遞歸地進(jìn)行:當(dāng)xm=yn時(shí),找出Xm-1和Yn-1的最長公共子序列,然后在其尾部加上xm(=yn)即可得X和Y的一個(gè)最長公共子序列。當(dāng)xm≠yn時(shí),必須解兩個(gè)子問題,即找出Xm-1和Y的一個(gè)最長公共子序列及X和Yn-1的一個(gè)最長公共子序列。這兩個(gè)公共子序列中較長者即為X和Y的一個(gè)最長公共子序列。 由此遞歸結(jié)構(gòu)容易看到最長公共子序列問題具有子問題重疊性質(zhì)。例如,在計(jì)算X和Y的最長公共子序列時(shí),可能要計(jì)算出X和Yn-1及Xm-1和Y的最長公共子序列。而這兩個(gè)子問題都包含一個(gè)公共子問題,即計(jì)算Xm-1和Yn-1的最長公共子序列。 我們來建立子問題的最優(yōu)值的遞歸關(guān)系。用c[i,j]記錄序列Xi和Yj的最長公共子序列的長度。其中Xi=,Yj=。當(dāng)i=0或j=0時(shí),空序列是Xi和Yj的最長公共子序列,故c[i,j]=0。建立遞歸關(guān)系如下: c) 計(jì)算最優(yōu)值 由于在所考慮的子問題空間中,總共只有θ(m*n)個(gè)不同的子問題,因此,用動態(tài)規(guī)劃算法自底向上地計(jì)算最優(yōu)值能提高算法的效率。 計(jì)算最長公共子序列長度的動態(tài)規(guī)劃算法LCS_LENGTH(X,Y)以序列X=和Y=作為輸入。輸出兩個(gè)數(shù)組c[0..m ,0..n]和b[1..m ,1..n]。其中c[i,j]存儲Xi與Yj的最長公共子序列的長度,b[i,j]記錄指示c[i,j]的值是由哪一個(gè)子問題的解達(dá)到的,這在構(gòu)造最長公共子序列時(shí)要用到。最后,X和Y的最長公共子序列的長度記錄于c[m,n]中。 程序如下: #include #include int lcs_length(char x[], char y[]); int main() { char x[100],y[100]; int len; while(1) { scanf("%s%s",x,y); if(x[0]=='0') //約定第一個(gè)字符串以‘0’開始表示結(jié)束 break; len=lcs_length(x,y); printf("%d\n",len); } } int lcs_length(char x[], char y[] ) { int m,n,i,j,l[100][100]; m=strlen(x); n=strlen(y); for(i=0;il[i-1][j]) l[i][j]=l[i][j-1]; else l[i][j]=l[i-1][j]; return l[m][n]; } 由于每個(gè)數(shù)組單元的計(jì)算耗費(fèi)Ο(1)時(shí)間,算法lcs_length耗時(shí)Ο(mn)。 思考:空間能節(jié)約嗎? 2. 計(jì)算矩陣連乘積 在科學(xué)計(jì)算中經(jīng)常要計(jì)算矩陣的乘積。矩陣A和B可乘的條件是矩陣A的列數(shù)等于矩陣B的行數(shù)。若A是一個(gè)p×q的矩陣,B是一個(gè)q×r的矩陣,則其乘積C=AB是一個(gè)p×r的矩陣。由該公式知計(jì)算C=AB總共需要pqr次的數(shù)乘。其標(biāo)準(zhǔn)計(jì)算公式為: 現(xiàn)在的問題是,給定n個(gè)矩陣{A1,A2,…,An}。其中Ai與Ai+1是可乘的,i=1,2,…,n-1。要求計(jì)算出這n個(gè)矩陣的連乘積A1A2…An。 遞歸公式: 程序如下: #include int main() { int p[101],i,j,k,r,t,n; int m[101][101]; //為了跟講解時(shí)保持一致數(shù)組從1開始 int s[101][101]; //記錄從第i到第j個(gè)矩陣連乘的斷開位置 scanf("%d",&n); for(i=0;i<=n;i++) scanf("%d",&p[i]); //讀入p[i]的值(注意:p[0]到p[n]共n+1項(xiàng)) for(i=1;i<=n;i++) //初始化m[i][i]=0 m[i][i]=0; for(r=1;r表示具有n條邊v0v1,v1v2,… ,vn-1vn的一個(gè)凸多邊形,其中,約定v0=vn 。 若vi與vj是多邊形上不相鄰的兩個(gè)頂點(diǎn),則線段vivj稱為多邊形的一條弦。弦 將多邊形分割成凸的兩個(gè)子多邊形。多邊形的三角剖分是一個(gè)將多邊形分割成互不重迭的三角形的弦的集合T。如圖是一個(gè)凸多邊形的兩個(gè)不同的三角剖分。 凸多邊形最優(yōu)三角剖分的問題是:給定一個(gè)凸多邊形P=以及定義在由多邊形的邊和弦組成的三角形上的權(quán)函數(shù)ω。要求確定該凸多邊形的一個(gè)三角剖分,使得該三角剖分對應(yīng)的權(quán)即剖分中諸三角形上的權(quán)之和為最小。 可以定義三角形上各種各樣的權(quán)函數(shù)W。例如:定義ω(△vivjvk)=|vivj|+|vivk|+|vkvj|,其中,|vivj|是點(diǎn)vi到vj的歐氏距離。相應(yīng)于此權(quán)函數(shù)的最優(yōu)三角剖分即為最小弦長三角剖分。(注意:解決此問題的算法必須適用于任意的權(quán)函數(shù)) 4. 防衛(wèi)導(dǎo)彈 一種新型的防衛(wèi)導(dǎo)彈可截?fù)舳鄠€(gè)攻擊導(dǎo)彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截?fù)暨M(jìn)攻導(dǎo)彈,但不可以向后或向上飛行。但有一個(gè)缺點(diǎn),盡管它發(fā)射時(shí)可以達(dá)到任意高度,但它只能截?fù)舯人洗谓負(fù)魧?dǎo)彈時(shí)所處高度低或者高度相同的導(dǎo)彈。現(xiàn)對這種新型防衛(wèi)導(dǎo)彈進(jìn)行測試,在每一次測試中,發(fā)射一系列的測試導(dǎo)彈(這些導(dǎo)彈發(fā)射的間隔時(shí)間固定,飛行速度相同),該防衛(wèi)導(dǎo)彈所能獲得的信息包括各進(jìn)攻導(dǎo)彈的高度,以及它們發(fā)射次序。現(xiàn)要求編一程序,求在每次測試中,該防衛(wèi)導(dǎo)彈最多能截?fù)舻倪M(jìn)攻導(dǎo)彈數(shù)量,一個(gè)導(dǎo)彈能被截?fù)魬?yīng)滿足下列兩個(gè)條件之一: a)它是該次測試中第一個(gè)被防衛(wèi)導(dǎo)彈截?fù)舻膶?dǎo)彈; b)它是在上一次被截?fù)魧?dǎo)彈的發(fā)射后發(fā)射,且高度不大于上一次被截?fù)魧?dǎo)彈的高度的導(dǎo)彈。 輸入數(shù)據(jù):第一行是一個(gè)整數(shù)n,以后的n各有一個(gè)整數(shù)表示導(dǎo)彈的高度。 輸出數(shù)據(jù):截?fù)魧?dǎo)彈的最大數(shù)目。 分析:定義l[i]為選擇截?fù)舻趇個(gè)導(dǎo)彈,從這個(gè)導(dǎo)彈開始最多能截?fù)舻膶?dǎo)彈數(shù)目。 由于選擇了第i枚導(dǎo)彈,所以下一個(gè)要截?fù)舻膶?dǎo)彈j的高度要小于等于它的高度,所以l[i]應(yīng)該等于從i+1到n的每一個(gè)j,滿足h[j]<=h[i]的j中l(wèi)[j]的最大值。 程序如下: #include int main() { int i,j,n,max,h[100],l[100]; scanf("%d",&n); for(i=0;i=0;i--) { max=0; for(j=i+1;jh[j]&&max void readdata(); void init(); int n,a[100],b[100],l[100][100]; int main() { int i,j; readdata(); init(); for(i=n-2;i>=0;i--) for(j=1;jb[j]) l[i][j]=l[i+1][j-1]-1; else if(l[i+1][j-1]-1>l[i][j-1]) l[i][j]=l[i+1][j-1]-1; else l[i][j]=l[i][j-1]; printf("%d",l[0][n-1]); } void readdata() { int i; scanf("%d",&n); for(i=0;i

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


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线视频二区| 99成人精品| 在线亚洲精品福利网址导航| 亚洲欧美视频一区| 欧美不卡视频一区| 久久精品国产欧美激情| 久久久xxx| 久久爱www| 久久午夜视频| 欧美日韩激情网| 久久人人爽人人爽| 国产精品夫妻自拍| 欧美日韩一区成人| 欧美与黑人午夜性猛交久久久| 一区二区三区国产盗摄| 亚洲国产免费| 日韩一区二区电影网| 麻豆精品在线视频| 狠狠色丁香婷婷综合久久片| 男人的天堂亚洲| 亚洲国产高清在线观看视频| 亚洲国产日韩欧美在线动漫| 亚洲人成在线观看| 欧美伊人久久久久久久久影院| 欧美18av| 欧美顶级大胆免费视频| 亚洲免费av片| 亚洲精品欧美日韩专区| 亚洲香蕉成视频在线观看| 久久久999精品视频| 国产精品va在线| 国产三级欧美三级| 欧美一区免费视频| 亚洲国产高清在线观看视频| 欧美日韩性视频在线| 一区二区三区四区五区精品视频 | 狠狠色综合网| 女人天堂亚洲aⅴ在线观看| 久久久久久久久久久久久女国产乱| 国产自产2019最新不卡| 亚洲国产aⅴ天堂久久| 欧美三级电影网| 欧美一区二区在线观看| 欧美专区在线播放| 日韩亚洲国产欧美| 午夜日韩视频| 日韩一级在线观看| 欧美一级黄色网| aⅴ色国产欧美| 欧美影视一区| 亚洲网站在线观看| 欧美中文在线免费| 一区二区三区国产盗摄| 久久频这里精品99香蕉| 亚洲欧美一区二区精品久久久| 久久精品综合| 亚洲男人的天堂在线观看| 久久久久久欧美| 午夜视频一区在线观看| 欧美精品日韩| 欧美91视频| 国产一级久久| 亚洲午夜av| 在线视频精品一区| 美女国产精品| 久久久青草婷婷精品综合日韩| 欧美日韩一区二区在线视频| 欧美xx视频| 黑人操亚洲美女惩罚| 亚洲一区二区视频| 一本色道精品久久一区二区三区| 久久婷婷激情| 亚洲美女精品久久| 一本到12不卡视频在线dvd| 亚洲调教视频在线观看| 久久久之久亚州精品露出| 久久久久免费观看| 久久久久久夜| 亚洲毛片在线| 亚洲欧美综合精品久久成人 | 亚洲最新在线视频| 激情六月综合| 久久久中精品2020中文| 久久久xxx| 久久国产精品久久久久久| 欧美国产精品劲爆| 免费成人毛片| 国产乱子伦一区二区三区国色天香 | 国产精品区一区| 亚洲国产欧美一区二区三区同亚洲| 国产一区久久| 国产精品99久久久久久久久久久久 | 久久精品国产一区二区电影| 国产精品久久久一区麻豆最新章节| 欧美大片在线观看| 免费影视亚洲| 国产乱人伦精品一区二区| 亚洲欧美色婷婷| 一本一本久久| 国产精品激情av在线播放| 亚洲欧洲一区二区三区在线观看| 1024国产精品| 久久一区中文字幕| 亚洲第一精品在线| 亚洲电影av在线| 猛干欧美女孩| 欧美成人午夜视频| 91久久综合| 欧美波霸影院| 一区二区久久久久| 亚洲一级黄色av| 国产伦精品一区| 亚洲一区二区三区精品动漫| 久久精品国产999大香线蕉| 国产人成一区二区三区影院| 久久精品视频免费播放| 国产欧美一区二区精品忘忧草| 性18欧美另类| 亚洲人成人一区二区在线观看| 亚洲精品美女91| 欧美日韩国产美女| 午夜精品影院在线观看| 亚洲欧美日韩久久精品| 欧美午夜宅男影院在线观看| 欧美一区二区黄| 久久精品99| 久久精品综合| 欧美成人综合| 久久免费国产精品1| 在线视频日韩| 亚洲欧美日韩国产一区二区| 亚洲日本成人| 一本色道久久99精品综合| 亚洲午夜精品在线| 亚洲女同在线| 久久精品女人| 亚洲——在线| 欧美一区二区三区四区在线观看| 日韩亚洲在线| 久久免费国产精品| 久久激情五月丁香伊人| 国产精品视频导航| 亚洲与欧洲av电影| 亚洲精品美女91| 亚洲精品一区二区三| 一二三四社区欧美黄| 国产乱码精品一区二区三| 欧美日韩三级| 欧美一区二区高清| 一区二区黄色| 欧美片网站免费| 亚洲一区久久| 91久久精品一区二区三区| 中文国产亚洲喷潮| 亚洲国产经典视频| 欧美亚洲日本国产| 国产精品理论片在线观看| 一区二区毛片| 一区二区三区高清不卡| 国产一区二区三区四区hd| 欧美激情精品久久久六区热门| 亚洲精选中文字幕| 欧美11—12娇小xxxx| 国内精品久久久久影院色| 亚洲午夜视频在线观看| 免费一级欧美片在线观看| 亚洲日本在线观看| 亚洲韩国青草视频| 欧美精品在线免费| 亚洲美女中文字幕| 亚洲国产日韩欧美一区二区三区| 噜噜噜噜噜久久久久久91| 亚洲国产成人91精品| 免费视频最近日韩| 久久男女视频| 在线观看欧美一区| 国产精品ⅴa在线观看h| 欧美福利视频| 久久乐国产精品| 久久精品国内一区二区三区| 在线视频免费在线观看一区二区| 日韩视频三区| 亚洲高清影视| 亚洲免费一在线| 99在线视频精品| 狠狠色丁香婷婷综合久久片| 国产麻豆精品theporn| 国产精品美女久久久久久久| 欧美日韩免费看| 国产精品高潮视频| 欧美日韩中文另类| 国产精品极品美女粉嫩高清在线| 欧美日韩一区二区三区| 国产精品久久久久久久久婷婷| 免费亚洲婷婷| 91久久精品国产91久久性色tv| 亚洲精品永久免费精品| 亚洲日本理论电影| 一区二区三区四区国产| 亚洲永久免费观看|