思路:設$f[i][j]$表示第乙個串前$i$位與第二個串前$j$位匹配後的最大值。
可以將第$i$位與第$j$位直接匹配,或者分別用乙個原字母匹配另乙個空格。
**:
#include constint b[6][6] =,,,
,,
};const
int maxn = 150
;const
int inf = 1
<< 30
;using
namespace
std;
char
s[maxn], t[maxn];
intn, m, f[maxn][maxn];
int change(char
c) int
main()
f[0][0] = 0
;
for(int i = 1; i <= n; i++)
f[i][
0] = f[i - 1][0] + b[change(s[i])][5
];
for(int i = 1; i <= m; i++)
f[0][i] = f[0][i - 1] + b[5
][change(t[i])];
for(int i = 1; i <= n; i++)
}cout
<< f[n][m]
}
洛谷1140 相似基因
洛谷1140 相似基因 題目背景 大家都知道,基因可以看作乙個鹼基對序列。它包含了4種核苷酸,簡記作a,c,g,t。生物學家正致力於尋找人類基因的功能,以利用於診斷疾病和發明藥物。在乙個人類基因工作組的任務中,生物學家研究的是 兩個基因的相似程度。因為這個研究對疾病的 有著非同尋常的作用。題目描述 ...
洛谷1140相似基因
兩個基因的相似度的計算方法如下 對於兩個已知基因,例如agtgatg和gttag,將它們的鹼基互相對應。當然,中間可以加入一些空鹼基 例如 這樣,兩個基因之間的相似度就可以用鹼基之間相似度的總和來描述,鹼基之間的相似度如下表所示 那麼相似度就是 3 5 5 2 3 5 3 5 9。因為兩個基因的對應...
P1140 相似基因
大家都知道,基因可以看作乙個鹼基對序列。它包含了4種核苷酸,簡記作a,c,g,t。生物學家正致力於尋找人類基因的功能,以利用於診斷疾病和發明藥物。在乙個人類基因工作組的任務中,生物學家研究的是 兩個基因的相似程度。因為這個研究對疾病的 有著非同尋常的作用。兩個基因的相似度的計算方法如下 對於兩個已知...