動態規劃 之子串長度 之輸出

2021-08-20 21:28:52 字數 688 閱讀 5616

牛牛有兩個字串(可能包含空格),牛牛想找出其中最長的公共連續子串,希望你能幫助他,並輸出其長度。

輸入描述:

輸入為兩行字串(可能包含空格),長度均小於等於50

輸出描述:

輸出為乙個整數,表示最長公共連續子串的長度

輸入例子:

abcde

abgde

輸出例子:

2解題思路:

這題其實是動態規劃的變形經典題型,應用動態規劃的思想,建立乙個二維陣列dp[n][n],其中dp[i][j],表示取到s1[i]和取到s2[j]時的最大連續子串長度。如果s1[i]等於s2[j],則dp[i-1][j-1]等於取到s1[i-1]和

取到s2[j-1]時的最大連續子串長度加1,即

dp[i][j]=dp[i-1][j-1]+1。

**:#include#include#include#includeusing namespace std;

#define maxn 1005

char a[maxn],b[maxn];

int dp[maxn][maxn];

int maxl=0;

int main()else

if(maxl#include#include#includeusing namespace std;

int main()

for(int i=0;i

動態規劃 回文子串的長度

給定乙個字串,求其最長的回文子串的長度。如字串 abcdcba 的最長回文子串長度為7,而 aebfcgdhcibja 的最長回文也是 abcdcba 長度也是7.分析 典型的動態規劃問題,用dp i j 記錄字串中從字元 i 到字元 j 中最長回文子串的長度,則 if s.charat i s.c...

動態規劃之字串拆分

某種字串處理語言允許程式設計師將乙個字串拆分為兩段。由於此操作需要複製字串,因此要花費n個時間單位來將乙個n個字元的字串拆為兩段。假定乙個程式設計師希望將乙個字串拆分為多段,拆分的順序會影響所花費的總時間。例如,假定這個程式設計師希望將乙個20個字元的字串在第2個,第8個以及第10個字元後進行拆分 ...

01串 動態規劃

時間限制 1000 ms 記憶體限制 65535 kb難度 2 描述 acm的zyc在研究01串,他知道某一01串的長度,但他想知道不含有 11 子串的這種長度的01串共有多少個,他希望你能幫幫他。注 01串的長度為2時,有3種 00,01,10。輸入 第一行有乙個整數n 0 輸出輸出不含有 11 ...