poj 1080 Human Gene Functions DP
2014-08-06 15:01
330 查看
题目链接:poj 1080
给定两DNA串,给出对应基因的匹配值,问两串匹配的最大值为多少
简单的DP,推出状态转移方程即可。dp[i][j]=max(dp[i][j-1]+v(-,s2[j]),dp[i-1][j]+v(s1[i],-),dp[i-1][j-1]+v(s1[i],s2[j]))
给定两DNA串,给出对应基因的匹配值,问两串匹配的最大值为多少
简单的DP,推出状态转移方程即可。dp[i][j]=max(dp[i][j-1]+v(-,s2[j]),dp[i-1][j]+v(s1[i],-),dp[i-1][j-1]+v(s1[i],s2[j]))
/********************************************************************* FileName: 1080.cpp Author: kojimai Created Time: 2014年08月06日 星期三 14时34分33秒 *********************************************************************/ /* 给定两DNA串,并给出对应基因之间的匹配值,问两串匹配能得到的最大值是多少 */ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define FFF 105 char s1[FFF],s2[FFF]; int value[5][5]={ 5,-1,-2,-1,-3, -1,5,-3,-2,-4, -2,-3,5,-2,-2, -1,-2,-2,5,-1, -3,-4,-2,-1,-1000 }; int dp[FFF][FFF]; int h(char x) { if(x=='A') return 0; else if(x=='C') return 1; else if(x=='G') return 2; else if(x=='T') return 3; else return 4; } int val(char h1,char h2) { return value[h(h1)][h(h2)]; } int main() { int keng; scanf("%d",&keng); while(keng--) { int l1,l2; scanf("%d%s",&l1,s1); scanf("%d%s",&l2,s2); dp[0][0]=0; for(int i=1;i<=l1;i++) dp[i][0]=dp[i-1][0]+val(s1[i-1],'-'); for(int i=1;i<=l2;i++) dp[0][i]=dp[0][i-1]+val('-',s2[i-1]); for(int i=1;i<=l1;i++) { for(int j=1;j<=l2;j++) { dp[i][j]=max(dp[i-1][j]+val(s1[i-1],'-'),dp[i][j-1]+val('-',s2[j-1])); dp[i][j]=max(dp[i][j],dp[i-1][j-1]+val(s1[i-1],s2[j-1])); } } /*for(int i=1;i<=l1;i++) { for(int j=1;j<=l2;j++) cout<<dp[i][j]<<' '; cout<<endl; }*/ cout<<dp[l1][l2]<<endl; } return 0; }
相关文章推荐
- poj 1080 Human Gene Functions(动态规划:经典DP)
- POJ 1080 Human Gene Functions (DP)
- POJ 1080 Human Gene Functions DP
- poj 1080 Human Gene Functions(dp)
- poj_1080 Human Gene Functions(dp)
- POJ-1080- Human Gene Functions-DP-LCS变形
- POJ 1080-Human Gene Functions(DP:LCS变型)
- 【dp】POJ - 1080 Human Gene Functions
- POJ 1080 Human Gene Functions DP(LCS)
- POJ 1080 Human Gene Functions(dp)
- POJ 1080 Human Gene Functions DP
- POJ 1080-Human Gene Functions(dp)
- POJ 1080-Human Gene Functions(DP)
- POJ 1080 Human Gene Functions DP
- Human Gene Functions poj 1080 dp
- POJ 1080 Human Gene Functions(DP)
- POJ 1080 Human Gene Functions DP
- POJ 1080 Human Gene Functions(dp)
- poj--1080 Human Gene Functions(dp)
- POJ-1080 Human Gene Functions DP