• <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://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 閱讀(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 
            在信息分析的依據里面實際上計算機信息的分析帶來的實際的影響是巨大的包括對于休息對于言論,對于自己的動作分解的過程實際上意義還是很大的,但是正視目前的客觀事實是在失去計算機信息分析依據的時候,代替出來的一定需要另外的一種動作含義覆蓋,  回復  更多評論
              
            久久99亚洲综合精品首页| 日韩精品久久久肉伦网站| 久久亚洲精品人成综合网| 一个色综合久久| 亚洲欧美一区二区三区久久| 久久久久久国产精品美女| 中文字幕一区二区三区久久网站 | 欧美日韩中文字幕久久伊人| 日韩人妻无码精品久久久不卡 | 亚洲国产精品久久久久网站| 91精品国产综合久久婷婷| 久久精品国产亚洲麻豆| 国产精品成人久久久久三级午夜电影 | 久久久久国产成人精品亚洲午夜| 久久国产午夜精品一区二区三区| 日本道色综合久久影院| 久久久久久久国产免费看| 亚洲欧美国产精品专区久久 | 久久久久亚洲av无码专区| 久久亚洲国产精品一区二区| 国产精品激情综合久久| 老司机午夜网站国内精品久久久久久久久| 亚洲精品久久久www| 精品国产乱码久久久久久人妻| 精品久久人妻av中文字幕| 精品久久久久久国产三级| 久久亚洲精品无码aⅴ大香| 狠狠狠色丁香婷婷综合久久五月 | 久久久久国产精品三级网| 久久久www免费人成精品| 久久午夜电影网| 国产成人精品三上悠亚久久| 99久久99久久精品国产片果冻| 欧美亚洲国产精品久久| 久久精品国产半推半就| 久久久久人妻一区二区三区| 久久99免费视频| 亚洲国产精品无码久久一线| 久久久久18| 国产AV影片久久久久久| 久久天堂AV综合合色蜜桃网|