博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划(DP),Human Gene Functions
阅读量:6519 次
发布时间:2019-06-24

本文共 1620 字,大约阅读时间需要 5 分钟。

题目链接:

解题报告:

1、类似于LCS

2、gene[i][j]表示str1[i-1]和str2[j-1]的分值串没有,则应该扣分

3、递推公式

temp1=gene[i-1][j-1]+score[_map[str1[i-1]]][_map[str2[j-1]]];

temp2=gene[i-1][j]+score[_map[str1[i-1]]][4];

temp3=gene[i][j-1]+score[4][_map[str2[j-1]]];

gene[i][j]=max(temp1,max(temp2,temp3));

4、在初始化边界条件时,认为一个字符串为空,则要扣分

#include 
#include
#include
#define NUM 105using namespace std;int score[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,0}};map
_map;char str1[NUM],str2[NUM];int len1,len2;int gene[NUM][NUM];///gene[i][j]表示基因子串str1[i-1]和str2[j-1]的分值.int main(){ _map['A']=0,_map['C']=1,_map['G']=2,_map['T']=3,_map['-']=4; int t; scanf("%d",&t); while(t--) { scanf("%d%s",&len1,str1); scanf("%d%s",&len2,str2); ///初始化边界条件 gene[0][0]=0; for(int i=1; i<=len1; i++) gene[i][0]=gene[i-1][0]+score[_map[str1[i-1]]][4]; for(int i=1; i<=len2; i++) gene[0][i]=gene[0][i-1]+score[4][_map[str2[i-1]]]; int m1,m2,m3; for(int i=1; i<=len1; i++) { for(int j=1; j<=len2; j++) { m1=gene[i-1][j]+score[_map[str1[i-1]]][4];///str1取i-1个字符,str2取'-'; m2=gene[i][j-1]+score[4][_map[str2[j-1]]];///str1取'-',str2取j-1个字符; m3=gene[i-1][j-1]+score[_map[str1[i-1]]][_map[str2[j-1]]];///str1取i-1个字符,str2取j-1个字符 gene[i][j]=max(m1,max(m2,m3)); } } printf("%d\n",gene[len1][len2]); } return 0;}

 

转载于:https://www.cnblogs.com/TreeDream/p/5260044.html

你可能感兴趣的文章
Spring(十七):Spring AOP(一):简介
查看>>
html5常用属性text-shadow、vertical-align、background如何使用
查看>>
微软正式宣布Azure MongoDB Atlas免费方案
查看>>
Jessica Kerr:高绩效团队简史
查看>>
开发者需要知道的有关软件架构的五件事
查看>>
GitLab 9提供了子群组、部署面板和集成监控
查看>>
继爆款超级账本后,IBM再次推出新产品
查看>>
贝壳金控赵文乐:基于 Spring Cloud 的服务治理实践
查看>>
Pyspider框架 —— Python爬虫实战之爬取 V2EX 网站帖子
查看>>
区域生长算法 C++实现
查看>>
数据分析-从入门到崩溃
查看>>
web.xml 中的listener、 filter、servlet 加载顺序
查看>>
MyBatis原理简介和小试牛刀
查看>>
js部分基础
查看>>
脏读,幻读,不可重复读解释和例子
查看>>
Tomcat指定(JDK路径)JAVA_HOME而不用环境变量
查看>>
Bluemix专属版本落地中国 开放物联网和认知计算能力
查看>>
汤姆大叔的6道javascript编程题题解
查看>>
【世界知名量子科学家加盟阿里】施尧耘出任阿里云量子技术首席科学家
查看>>
DataCore对外出售其虚拟化软件产品
查看>>