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

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 179013
            • 排名 - 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 
            在信息分析的依據里面實際上計算機信息的分析帶來的實際的影響是巨大的包括對于休息對于言論,對于自己的動作分解的過程實際上意義還是很大的,但是正視目前的客觀事實是在失去計算機信息分析依據的時候,代替出來的一定需要另外的一種動作含義覆蓋,  回復  更多評論
              
            久久久久久亚洲精品影院| 成人久久综合网| 久久乐国产综合亚洲精品| 国内精品伊人久久久影院| 午夜久久久久久禁播电影| 久久亚洲精品中文字幕三区| 国产高潮国产高潮久久久91| 久久这里只有精品首页| 91久久精品国产成人久久| 午夜精品久久久久9999高清| 久久精品国产精品亚洲毛片| 久久久91人妻无码精品蜜桃HD| 中文字幕久久精品无码| 久久国产视屏| 国产成人久久精品区一区二区| 四虎国产精品成人免费久久| 久久人人爽人人爽人人AV | 日韩AV毛片精品久久久| 精品免费久久久久久久| 国产午夜精品理论片久久 | 久久99精品久久久久久久不卡| 大美女久久久久久j久久| 精品国产一区二区三区久久久狼| 性做久久久久久久久久久| 99久久久精品免费观看国产| 2021最新久久久视精品爱| 老司机午夜网站国内精品久久久久久久久 | 国产精品99久久精品爆乳| 久久亚洲欧美国产精品| 99久久做夜夜爱天天做精品| 国产福利电影一区二区三区久久久久成人精品综合 | 久久成人永久免费播放| 69SEX久久精品国产麻豆| 日韩精品无码久久久久久| 囯产精品久久久久久久久蜜桃 | 无码人妻久久一区二区三区蜜桃| 国产高清美女一级a毛片久久w| 99久久久精品免费观看国产| 久久99精品国产麻豆宅宅| 99久久er这里只有精品18| 亚洲国产精品久久久久网站|