zoukankan      html  css  js  c++  java
  • hdu 1080 (DP LCS最长公共子序列)

    dp[i][j]=max(  max( max(dp[i-1][j]+map[s[i]]['-'],     d[i][j-1]+map['-'][ss[j]])

    ,

    dp[i-1][j-1]+map[s[i]][ss[j]]

    )

    ,

    dp[i][j]

    );

    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<math.h>
     4 int map[6][6]={
     5       0,0,0,0,0,0,
     6       0,5,-1,-2,-1,-3,
     7       0,-1,5,-3,-2,-4,
     8       0,-2,-3,5,-2,-2,
     9        0,-1,-2,-2,5,-1,
    10       0,-3,-4,-2,-1,-100000
    11 };
    12 int fun(char ch)
    13 {
    14     if(ch=='A')return 1;
    15     if(ch=='C')return 2;
    16     if(ch=='G')return 3;
    17     if(ch=='T')return 4;
    18     return 5;
    19 }
    20 int Max(int x,int y)
    21 {
    22     return x>y?x:y;
    23 }
    24 int main()
    25 {
    26     int t,n,m,dp[110][110];
    27     
    28     int i,j,k,a,b,c;
    29     char s1[110],s2[110];
    30     scanf("%d",&t);
    31     while(t--)
    32     {
    33         scanf("%d %s",&n,s1+1);
    34         scanf("%d %s",&m,s2+1);
    35         memset(dp,0,sizeof(dp));
    36         for(i=1;i<=n;i++)
    37         {
    38             a=fun(s1[i]);
    39             b=fun('-');
    40             dp[i][0]=dp[i-1][0]+map[a][b];
    41                 
    42         }
    43     
    44         for(j=1;j<=m;j++)
    45         {
    46             a=fun('-');
    47             b=fun(s2[j]);
    48             dp[0][j]=dp[0][j-1]+map[a][b];
    49         }
    50         for(i=1;i<=n;i++)
    51         {
    52             for(j=1;j<=m;j++)
    53             {
    54                 a=fun(s1[i]);
    55                 b=fun(s2[j]);
    56                 c=fun('-');
    57                 dp[i][j]=Max(dp[i-1][j]+map[a][c],dp[i][j-1]+map[c][b]);
    58                 dp[i][j]=Max(dp[i][j],dp[i-1][j-1]+map[a][b]);
    59             }
    60         }
    61         printf("%d\n",dp[n][m]);
    62     }
    63     return 0;
    64 }
    65         
  • 相关阅读:
    Java异常简介
    Java中的接口
    Java中的抽象类
    Java的多态
    关于this
    面向对象的继承方式详解
    1像素边框问题
    HTML5之本地存储SessionStorage
    js数组去重的4个方法
    前端模块化
  • 原文地址:https://www.cnblogs.com/zlyblog/p/3062434.html
Copyright © 2011-2022 走看看