欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

最長子序列

系統 1799 0

最長子序列可以說是剛接觸動態規劃的人經常遇見也不得不解決的問題,最常見的有兩種,一種是最長公共子序列(LCS),還有一個是最長上升子序列(LIS)。今天我就總結下這兩個的做法。

?


一:最長公共子序列(LCS)

  題目描述:給你兩個數組,可以是數字的,也可以是字符串,我們假設是數字的!舉個例子:

    X? =? 1, 5, 6, 4, 1, 3, 7

    Y? =? 1, 1, 6, 8, 3, 4, 7

  求一個新的數組S,該數組中的每個數均是X和Y數組中的公共數,并滿足原數組中數字的前后關系,這樣的數組有很多個,比如說        ? (1,1),(1,1,3,7),(1,6,7)等。同時S數組要是長度最長的那個,像上面的(1,1,3,7),長度是4,那么即為所求解!

  做DP題目最重要的一點是能正確的構造出DP函數,如果能很好的構造出來,就成功一半了。

  dp[i][j] 表示X數組的前i位和Y數組的前j位之前的LCS,那么它可以由前面三個狀態推出來。

           0???????????????????????????????? if(i=0 || j=0) --初始化,不難理解,不管是X還是Y數組,只要有一個長度是0,那么S數組就是0

      dp[i][j] = max(dp[i-1][j],dp[i][j-1]??? if(i,j>0 && X[i] != Y[j]) --S數組沒有添加數字,那么只能從前面繼承來,一個從X,一個從Y,看那個大

           dp[i-1][j-1] + 1????????????? if(i,j>0 && X[i] == Y[j]) --如果是兩個相同,當然是把S數組加1,可以看成X和Y都繼承了

    代碼很簡單,兩個for循環就可以了。


二:最長遞增子序列(LIS)

  題目描述:給你一個數組,如X數組,X = 1,2,3,6,5,7,4,8,6。

  求一個新的數組S,該數組中的每個數均是X數組中的數,且對S中任意兩個數S[i],S[j]滿足 j>i && s[j]>s[i]。同時S數組要是長度最長的那個,像(1,2,3,6,7,8)和(1,2,3,5,7,8),長度是6,即為所求解。

  dp[i]表示以X數組中的第i個元素為S數組的底元素的最長子序列的長度。這樣又可以變成子問題來求解了,

  dp[i] = max(dp[j]) + 1??? 0<j<i? &&? X[i] > num[j]。就是在i前面找一個符合條件的最長子序列。


??? 對這個題目來說,dp方程還是比較容易推出來和理解的,但你可以發現,時間復雜度是O(n^2)的,這對許多題目都是不能接受的,所以你必須進行優化。這就牽扯到一個問題,最長遞增子序列的O(n*lgn)做法。

??? 做法如下:首先給你一個數組stack,用來存儲最長遞增子序列(按照遞增的要求,即數組的最頂端的數最大,最尾的數最小,如果說用棧的話你也許更好理解),對X數組進行線掃,如果X[i]大于數組的頂端元素(最大值),那么把這個數加入到stack數組中來,如果比頂端元素小,那么在stack數組中找到第一個大于X[i]的數,并用X[i]替換掉。因為stack數組是有序的,在你找第一個大于X[i]的數的時候你就可以用二分查找來做,這就是優化所在!

?

??? 這兩個都是很簡單的dp題目,但也包含了動態規劃思想,在后面的很多題目中你會發現都會不經意中用到這種思想,所以很好的理解他們是必須的。但動態規劃博大精深,就因為他沒有固定的程序,許多都是思想,所以僅僅知道這兩個是遠遠不夠的!

?

?

?

最長子序列


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91久久极品 | 91不卡在线| 色综合久久手机在线 | 国产精品自拍99 | 天天干天天舔天天操 | 久久久久亚洲精品 | 精品久久久久久久久久久久 | 泰国一级毛片aaa下面毛多 | 日本国产最新一区二区三区 | 国产精品三级久久久久久电影 | 免费一级视频在线观看 | 日本综合欧美一区二区三区 | 奇米影视第四色在线 | 在线播放三级 | 欧美高清不卡午夜精品免费视频 | 日本黄大片视频在线播放 | 国产亚洲精品精品国产亚洲综合 | aaaaa国产毛片| 精品伊人久久久99热这里只 | 欧美视频在线免费看 | 国产午夜亚洲精品 | 国产成人久久 | 日韩综合在线 | 久久久www成人免费精品张筱雨 | 久久影城 | 久草国产在线观看 | 精品欧美高清一区二区免费 | 国产精品美女久久久久久免费 | 97婷婷色| 久久精品国产免费看久久精品 | 日韩在线观看视频黄 | 成人激情综合 | 不卡一区 | 性色在线 | 一区二区三区四区精品 | 欧美精品在线观看 | 国产日韩精品一区二区 | 国产精品麻豆视频 | 亚洲97 | 久久aⅴ乱码一区二区三区 日韩精品一区二区在线观看 | 超碰3|