题目大意:
给两个由A、C、T、G四个字符组成的字符串,可以在两串中加入-,使得两串长度相等。
每两个字符匹配时都有个值,求怎样安排使得总的值最大,两个-不能匹配。
解题思路:
这题转化一下就是一个裸的最长公共子串问题,只不过要求匹配时长度一样。
dp[i][j]表示第一串的第前i个字符和第二串的前j个字符匹配时,能达到的最大值。
初始化时注意dp[0][j]和dp[j][0]不能为零,为相应字符与-匹配时的总和。
代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include