• <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>
            隨筆 - 70  文章 - 160  trackbacks - 0

            公告:
            知識共享許可協議
            本博客采用知識共享署名 2.5 中國大陸許可協議進行許可。本博客版權歸作者所有,歡迎轉載,但未經作者同意不得隨機刪除文章任何內容,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 具體操作方式可參考此處。如您有任何疑問或者授權方面的協商,請給我留言。

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 179340
            • 排名 - 147

            最新評論

            閱讀排行榜

            評論排行榜

            建議先看看前言:http://m.shnenglu.com/tanky-woo/archive/2011/04/09/143794.html

            這個案例也比較簡單,最長公共子序列(LCS),網上的分析非常多,給力??!

            按照上一篇總結所說的,找狀態轉移方程:

            15_5

            所以按照所給方程,寫代碼的工作就非常非常簡單輕松了:

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            32
            33
            34
            35
            36
            37
            38
            39
            40
            41
            42
            43
            44
            45
            46
            47
            48
            49
            50
            51
            52
            53
            54
            55
            56
            57
            58
            59
            60
            61
            62
            63
            64
            65
            66
            67
            68
            69
            
            /*
            Author: Tanky Woo
            Blog:   www.WuTianQi.com
            About:  《算法導論》15.4 最長公共自序列(LCS)
            */
             
            #include <iostream>
            using namespace std;
             
            char b[20][20];
            int c[20][20];
             
            char x[20], y[20];
             
            void LCS()
            {
            	int m = strlen(x+1);
            	int n = strlen(y+1);
             
            	for(int i=1; i<=m; ++i)
            		c[i][0] = 0;
            	for(int j=1; j<=n; ++j)
            		c[0][j] = 0;
             
            	for(int i=1; i<=m; ++i)
            		for(int j=1; j<=n; ++j)
            		{
            			if(x[i] == y[j])
            			{
            				c[i][j] = c[i-1][j-1] + 1;
            				b[i][j] = '\\';    // 注意這里第一個\\是轉移字符,代表\
            			}
            			else if(c[i-1][j] >= c[i][j-1])
            			{
            				c[i][j] = c[i-1][j];
            				b[i][j] = '|';
            			}
            			else
            			{
            				c[i][j] = c[i][j-1];
            				b[i][j] = '-';
            			}
            		}
            }
             
            void printLCS(int i, int j)
            {
            	if(i == 0 || j == 0)
            		return;
            	if(b[i][j] == '\\')
            	{
            		printLCS(i-1, j-1);
            		cout << x[i] << " ";
            	}
            	else if(b[i][j] == '|')
            		printLCS(i-1, j);
            	else
            		printLCS(i, j-1);
            }
             
            int main()
            {
            	cout << "Input the array A:\n";
            	cin >> x+1;
            	cout << "Input the array B:\n";
            	cin >> y+1;
            	LCS();
            	printLCS(strlen(x+1), strlen(y+1));
            }

            看書上圖15-6的結果圖:

            15_6

            又是一個給力的圖,建議自己按照程序把這個圖畫出來.

            另外,說到LCS,不得不說的是LIS(最長上升子序列),也是一個DP,我曾經總結過:

            http://www.wutianqi.com/?p=1850

            Tanky Woo 標簽: ,,

            在我獨立博客上的原文:http://www.wutianqi.com/?p=2505

            歡迎大家互相學習,互相進步!

            posted on 2011-05-26 18:55 Tanky Woo 閱讀(1507) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: 《算法導論》學習總結 — 19.第15章 動態規劃(4) 案例之LCS 2011-05-26 23:16 易寶@byhh
            mark.動態。貪心。。。杯具  回復  更多評論
              
            # re: 《算法導論》學習總結 — 19.第15章 動態規劃(4) 案例之LCS 2012-11-24 17:19 
            在信息分析的依據里面實際上計算機信息的分析帶來的實際的影響是巨大的包括對于休息對于言論,對于自己的動作分解的過程實際上意義還是很大的,但是正視目前的客觀事實是在失去計算機信息分析依據的時候,代替出來的一定需要另外的一種動作含義覆蓋,  回復  更多評論
              
            久久婷婷五月综合97色直播| 久久综合伊人77777| 久久人人爽人人人人爽AV| 亚洲精品tv久久久久久久久| 亚洲AV无码1区2区久久 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久香蕉国产线看观看精品yw| 久久久精品2019免费观看| 精品久久久久久中文字幕| 久久亚洲国产精品五月天婷| 一本色道久久HEZYO无码| 久久国产精品久久久| 亚洲国产成人久久精品99 | 久久久人妻精品无码一区| 色婷婷久久综合中文久久蜜桃av| 久久精品视频网| 亚洲精品蜜桃久久久久久| 久久久久国产一级毛片高清板 | 久久综合狠狠综合久久综合88| 久久免费视频观看| 狠狠精品久久久无码中文字幕| 91久久精品视频| 97久久天天综合色天天综合色hd| 久久亚洲国产精品123区| 国产精品18久久久久久vr| 无码AV中文字幕久久专区 | 99久久人妻无码精品系列蜜桃| 亚洲另类欧美综合久久图片区| 香蕉久久一区二区不卡无毒影院 | 97久久国产亚洲精品超碰热| 麻豆精品久久久久久久99蜜桃| 国产精品美女久久久网AV| 四虎国产精品免费久久5151| 久久99热只有频精品8| 久久亚洲AV成人无码电影| 精品国产青草久久久久福利| 国产一区二区久久久| 久久久久久国产精品无码下载| 久久精品国产精品亚洲精品 | 精品久久久久久国产免费了| 精品免费tv久久久久久久|