poj1080 dp
//Accepted 200 KB 0 ms
//dp
//dp[i][j]表示s1用前i个,s2用前j个字符能得到的最大分数
//dp[i][j]=max(dp[i-1][j]+score[s1[i-1]]['-'],
// dp[i][j-1]+score[['-'][s2[j-1]],
// dp[i-1][j-1]+score[s1[i-1]][s2[j-1]])
//注意初始化
//dp[0][0]=0;
//dp[0][i]=dp[0][i-1]+score['-'][s2[i-1]]
//dp[i][0]=dp[i-1][0]+score[s1[i-1]]['-']
//还要初始化dp[i][j]=-inf;
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
;
;
int dp[imax_n][imax_n];
int n1,n2;
char s1[imax_n];
char s2[imax_n];
int getScore(char ch1,char ch2)
{
;
;
;
;
;
if (ch1=='C')
{
;
;
;
;
}
if (ch1=='G')
{
;
;
;
;
}
if (ch1=='T')
{
;
;
;
;
}
if (ch1=='-')
{
;
;
;
;
}
}
void Dp()
{
//memset(dp,0,sizeof(dp));
dp[][]=;
;i<=n1;i++)
dp[i][]=dp[i-][]+getScore(s1[i-],'-');
;i<=n2;i++)
dp[][i]=dp[][i-]+getScore(]);
;i<=n1;i++)
{
;j<=n2;j++)
{
dp[i][j]=inf;
]+getScore(])>dp[i][j])
dp[i][j]=dp[i][j-]+getScore(]);
][j]+getScore(s1[i-],'-'))
dp[i][j]=dp[i-][j]+getScore(s1[i-],'-');
][j-]+getScore(s1[i-],s2[j-]))
dp[i][j]=dp[i-][j-]+getScore(s1[i-],s2[j-]);
}
}
printf("%d\n",dp[n1][n2]);
}
int main()
{
int T;
scanf("%d",&T);
while (T--)
{
scanf("%d",&n1);
scanf("%s",s1);
scanf("%d",&n2);
scanf("%s",s2);
Dp();
}
;
}
poj1080 dp的更多相关文章
- poj3356 dp
//Accepted 4100 KB 0 ms //类似poj1080 //dp[i][j]表示s1用前i个,s2用前j个的最少匹配步数 //dp[i][j]=min(dp[i][j-1]+1,dp[ ...
- poj1080 - Human Gene Functions (dp)
题面 It is well known that a human gene can be considered as a sequence, consisting of four nucleotide ...
- DP总结 ——QPH
常见优化 单调队列 形式 dp[i]=min{f(k)} dp[i]=max{f(k)} 要求 f(k)是关于k的函数 k的范围和i有关 转移方法 维护一个单调递增(减)的队列,可以在两头弹出元素,一 ...
- LCS poj1080
题目链接:https://vjudge.net/problem/POJ-1080 参考博客:https://yq.aliyun.com/ziliao/372259 题意:给两个字符串,只含有'A',' ...
- POJ-1080 Human Gene Functions---类似LCS
题目链接: https://cn.vjudge.net/problem/POJ-1080 题目大意: 给定两组序列,要你求出它们的最大相似度,每个字母与其他字母或自身和空格对应都有一个打分,求在这两个 ...
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
随机推荐
- java final
final:(最终的)看不懂时有必要分析内存画图,不同方法的局部变量是相互独立的额不要被所起的名所困扰. 1)每个方法运行时jvm,都会为其开辟一片内存空间.内存空间是属于这个方法的, 同时,方法中的 ...
- unity3d模型制作规范
1. 单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例.统一单位为米. 2 ...
- Linux基础: 一切都是文件
一切都是文件 创建系统配置交换分区(用作虚拟内存)加上单根树 file 文件名 查看文件类型 uname 查看系统版本 bin binary二进制文件 所有用户可用 系统可执行命令的二进制文件(c ...
- 选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中 T-SQL核心语句形式: SELECT --指定要选择的列或行及其限定 [INTO ] --INTO子句 ...
- java作业——整数相加
设计思路:由于命令行参数都是字符串,所以解决问题的关键在于字符串和整数之间的转化.首先定义数组,让所要相加的数组成一个数组,然后实现数组的字符串转化为整数,最后相加输出就行了. 程序流程图: 源代码: ...
- 开源软件架构总结之——Bash(readline做输入交互式,词法语法分析,进程交互)
第3章 The Bourne-Again Shell Bash的主要组件:输入处理,解析,单词展开(word expansion)和其他命令处理,管道(pipeline)中的命令执行.这些组件构成一个 ...
- [工作需求]linux常用命令以及vim常用命令
一. Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...
- PHP换行符详解 PHP_EOL,<br />
1.PHP_EOL:用于文本的换行符,经常用于日志文件记录.可以解决: 在windows中\r\n是换行在Mac中\r是换行在Liunx中\n是换行 不统一的问题. 2. <br /> : ...
- spring集成环境下的axis webservice的发布,调试
在spring集成的环境下,无论你是ssh集成,还是ssi集成的情况下,发布webservice往往在调用的时候会出错. 特别是,如果你是这个方式: 将webservice打aar包,放到tomcat ...
- Servlet页面跳转实现方法的区别
一直对Servlet页面跳转的几种方式理解的糊里糊涂的,今天在网上搜了一把,找到一遍比较好的,记下来,以后看看. Servlet页面跳转分两部分,一是发生在Servlet,一是在JSP,其实JSP也就 ...