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

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 178997
            • 排名 - 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 閱讀(1503) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: 《算法導論》學習總結 — 19.第15章 動態規劃(4) 案例之LCS 2011-05-26 23:16 易寶@byhh
            mark.動態。貪心。。。杯具  回復  更多評論
              
            # re: 《算法導論》學習總結 — 19.第15章 動態規劃(4) 案例之LCS 2012-11-24 17:19 
            在信息分析的依據里面實際上計算機信息的分析帶來的實際的影響是巨大的包括對于休息對于言論,對于自己的動作分解的過程實際上意義還是很大的,但是正視目前的客觀事實是在失去計算機信息分析依據的時候,代替出來的一定需要另外的一種動作含義覆蓋,  回復  更多評論
              
            久久亚洲国产成人精品无码区| 久久久精品国产亚洲成人满18免费网站| 久久电影网| 久久九九免费高清视频| 久久精品中文字幕一区| 热re99久久6国产精品免费| 狠狠久久综合伊人不卡| 久久激情五月丁香伊人| 亚洲精品国精品久久99热一| 国产精品久久成人影院| 亚洲欧洲精品成人久久曰影片| 中文字幕久久波多野结衣av| 国产午夜精品久久久久九九电影 | 国产日韩久久久精品影院首页| 国产农村妇女毛片精品久久| 久久久久无码精品国产不卡| 免费精品久久久久久中文字幕| 欧美熟妇另类久久久久久不卡 | 亚洲国产欧洲综合997久久| 青青草原1769久久免费播放| 浪潮AV色综合久久天堂| 无码人妻少妇久久中文字幕 | 亚洲AV无码久久精品成人| 久久香蕉国产线看观看乱码| 久久精品国产久精国产一老狼| 久久久久国产精品麻豆AR影院| 国产午夜精品理论片久久影视 | 久久国产香蕉一区精品| 精品久久一区二区| www.久久热| 国产精品久久国产精品99盘| 久久久久亚洲av无码专区导航| 日韩人妻无码一区二区三区久久99| 狠狠色丁香婷婷综合久久来来去| 国产成人综合久久综合| 久久99久久99精品免视看动漫| 少妇内射兰兰久久| 久久久久亚洲AV无码专区体验| 久久天堂AV综合合色蜜桃网 | 奇米综合四色77777久久| 蜜臀久久99精品久久久久久小说 |