• <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)

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 179338
            • 排名 - 147

            最新評論

            閱讀排行榜

            評論排行榜

            建議先看看前言:http://www.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 
            在信息分析的依據里面實際上計算機信息的分析帶來的實際的影響是巨大的包括對于休息對于言論,對于自己的動作分解的過程實際上意義還是很大的,但是正視目前的客觀事實是在失去計算機信息分析依據的時候,代替出來的一定需要另外的一種動作含義覆蓋,  回復  更多評論
              
            99久久国产热无码精品免费久久久久 | 偷窥少妇久久久久久久久| 久久精品国产色蜜蜜麻豆| 久久天天婷婷五月俺也去| 久久99免费视频| 狠狠色综合网站久久久久久久高清| 精品乱码久久久久久久| 国产精品久久久久久久久软件| 99久久香蕉国产线看观香| 久久精品国产网红主播| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 久久久久久亚洲精品不卡| 亚洲国产成人乱码精品女人久久久不卡 | 久久国产精品成人免费| 久久久久久久综合日本| 久久中文骚妇内射| 伊人久久综合精品无码AV专区| 久久久精品国产sm调教网站 | 性做久久久久久久| 久久精品国产色蜜蜜麻豆| 99麻豆久久久国产精品免费 | 精品欧美一区二区三区久久久| 国产精品久久影院| 伊人热热久久原色播放www| 青青草国产成人久久91网| 99久久中文字幕| 国产色综合久久无码有码| 久久久精品国产亚洲成人满18免费网站 | 久久精品成人欧美大片| 久久夜色精品国产亚洲| 久久精品人人做人人妻人人玩| 伊人色综合久久天天人守人婷| 一本大道加勒比久久综合| .精品久久久麻豆国产精品| 久久99热这里只有精品国产| 伊人久久大香线蕉综合热线| 欧美伊人久久大香线蕉综合69| 亚洲欧美日韩精品久久亚洲区| 久久国产三级无码一区二区| 日本精品久久久中文字幕| 99久久99久久精品国产片|