小樂樂匹配字串 (最長公共子串行)

2021-09-02 08:08:39 字數 571 閱讀 6407

小樂樂匹配字串

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32768k,其他語言65536k

64bit io format: %lld

小樂樂有字串str1,str2。

小樂樂想要給他們找朋友。

小樂樂想知道在這兩個字串中最多能匹配出多長的相同子串(可非連續)。

第一行輸入字串str1;

第二行輸入字串str2;

資料保證字串長度小於1000,且非空,字串僅由小寫字母組成。

輸出最長相同子串的長度。

示例1複製

asd

ad

複製

2
#include using namespace std;

char a[1005],b[1005];

int dp[1005][1005];

int main()

}printf("%d\n",dp[len1][len2]);

}return 0;

}

最長公共字串和最長公共子串行

給出兩個字串,找到最長公共子串,並返回其長度。建立乙個矩陣來儲存兩個字串出現相同字元的地方,比如 abccd 和 abcefc 就有 abccd a10000 b02000 c00300 e00040 f00000 c00100 這樣就有每次遇到相等的都加上下他的斜上方的位置的值,然後使用乙個max...

字串中最長公共子串行和最長公共子串

例 bdcaba和abcbdab,最長公共子串行為 bcba。dp解法 字串1的長度為length1,字串2的長度為length2,建立乙個二維陣列c length1 length2 用來記錄最長公共子串行的長度,狀態轉移方程為 整個狀態轉移以及二維陣列矩陣c為 生成字串長度加1的0矩陣,m用來儲存...

最長公共子串行 最長公共子串

1 最長公共子串行 採用動態規劃的思想,用乙個陣列dp i j 記錄a字串中i 1位置到b字串中j 1位置的最長公共子串行,若a i 1 b j 1 那麼dp i j dp i 1 j 1 1,若不相同,那麼dp i j 就是dp i 1 j 和dp i j 1 中的較大者。class lcs el...