//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的更多相关文章

  1. 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[ ...

  2. poj1080 - Human Gene Functions (dp)

    题面 It is well known that a human gene can be considered as a sequence, consisting of four nucleotide ...

  3. DP总结 ——QPH

    常见优化 单调队列 形式 dp[i]=min{f(k)} dp[i]=max{f(k)} 要求 f(k)是关于k的函数 k的范围和i有关 转移方法 维护一个单调递增(减)的队列,可以在两头弹出元素,一 ...

  4. LCS poj1080

    题目链接:https://vjudge.net/problem/POJ-1080 参考博客:https://yq.aliyun.com/ziliao/372259 题意:给两个字符串,只含有'A',' ...

  5. POJ-1080 Human Gene Functions---类似LCS

    题目链接: https://cn.vjudge.net/problem/POJ-1080 题目大意: 给定两组序列,要你求出它们的最大相似度,每个字母与其他字母或自身和空格对应都有一个打分,求在这两个 ...

  6. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  7. 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 ...

  8. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  9. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

随机推荐

  1. <转> jsp页面向action传值的方法(最后一种简单)

    多的不说,直接上代码; struts.xml代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...

  2. 如何精确地测量java对象的大小-底层instrument API

    转载: 如何精确地测量java对象的大小-底层instrument API 关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象 ...

  3. mongodb配置及简单示例

    安装 在官网下载安装 https://www.mongodb.com/ 配置 我的电脑—>右键属性—>左边列表中的高级程序设置—>环境变量 点击path 把你的mongodb文件路径 ...

  4. 32-HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  5. Shell基础:变量类型 & 运算符

    Shell变量 Shell支持三种类型的变量 用户自定义变量:用户自定义的变量,变量名以英文字母或下划线开头,区分大小写. 位置变量:根据位置传递参数给脚本的变量,默认支持9个位置变量 $1,$2,$ ...

  6. Web总结

    Web总结 学习web前端理论基础必然是要过关的,这里我总结了一下比较基础的常用理论,还是比较有用哒! 一.名词解释 1.横切 在固定页面的宽度(按栅格化进行)并且对高度没有限制的容器称为一个标准横切 ...

  7. git在公司内部的使用实践(转)

    从2011.10月左右,开始在后台组推行git版本控制,到现在也差不多半年了,也形成了一套基于git flow的副官模式工作流程: 版本定义: 版本号使用x.x.x进行定义,第一个x代表大版本只有在项 ...

  8. jupyter

    Pip install jupyter To run:  jupyter notebook 基本操作 执行当前cell,并自动跳到下一个cell:Shift      Enter 执行当前cell,执 ...

  9. 使用C#下载网络文件

    下载 /// <summary> /// 下载文件 /// </summary> /// <param name="URL">下载文件地址< ...

  10. 3D开发的基本知识

    为了实现3D图形,程序员需要定义两个方面的数据: 1.3D图形的每个顶点(Vertex)的位置,每个顶点的位置都需要X.Y.Z三个左标值. 2.3D图形每个面由哪些顶点组成. Android的3D坐标 ...