首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HDU 1080 DP

HDU 1080 DP

作者头像
全栈程序员站长
发布2022-07-10 14:06:02
发布2022-07-10 14:06:02
3420
举报

大家好,又见面了,我是全栈君。

匹配两个人相似度。

A,G,C。T。每两个都会有一个相应的值,给出两串基因。长度能够不一样,能够在基因中间加_使两串长度一样。然后有一个相应值。求最大相应值。

先做出相应的表

DP方程:

x=dp[i-1][j-1]+hash[str_a[i-1]][str_b[j-1]]; y=dp[i-1][j]+hash[str_a[i-1]][‘-‘]; z=dp[i][j-1]+hash[str_b[j-1]][‘-‘]; p[i][j]=Max(x,y,z);

代码语言:javascript
复制
#include "stdio.h"
#include "string.h"

int Max(int a,int b,int c)
{
    int x;
    x=a;
    if (b>x) x=b;
    if (c>x) x=c;
    return x;
}
int main()
{
    int Case,len_a,len_b,x,y,z,i,j;
    int dp[110][110],hash[210][210];
    char str_a[110],str_b[110];

    hash['A']['A']=hash['C']['C']=hash['T']['T']=hash['G']['G']=5;
    hash['A']['C']=hash['C']['A']=hash['A']['T']=hash['T']['A']=hash['-']['T']=hash['T']['-']=-1;
    hash['A']['G']=hash['G']['A']=hash['C']['T']=hash['T']['C']=hash['G']['T']=hash['T']['G']=hash['-']['G']=hash['G']['-']=-2;
    hash['A']['-']=hash['-']['A']=hash['C']['G']=hash['G']['C']=-3;
    hash['C']['-']=hash['-']['C']=-4;

    scanf("%d",&Case);
    while (Case--)
    {
        scanf("%d%s%d%s",&len_a,str_a,&len_b,str_b);

    //    memset(dp,0,sizeof(dp));
        dp[0][0]=0;
        for (i=1;i<=len_a;i++)
            dp[i][0]=dp[i-1][0]+hash['-'][str_a[i-1]];
        for (i=1;i<=len_b;i++)
            dp[0][i]=dp[0][i-1]+hash['-'][str_b[i-1]];

        for (i=1;i<=len_a;i++)
            for (j=1;j<=len_b;j++)
            {
                x=dp[i-1][j-1]+hash[str_a[i-1]][str_b[j-1]];
                y=dp[i-1][j]+hash[str_a[i-1]]['-'];
                z=dp[i][j-1]+hash[str_b[j-1]]['-'];
                dp[i][j]=Max(x,y,z);
            }
        printf("%d\n",dp[len_a][len_b]);
    }
    return 0;
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115445.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月4,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档