• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 97, 文章 - 22, 評(píng)論 - 81, 引用 - 0
            數(shù)據(jù)加載中……

            Pku 1080 Human Gene Functions (DP)

            問題描述:
            給出兩個(gè)串,對(duì)應(yīng)字母有權(quán)值,可以錯(cuò)位安排,使得最后總權(quán)和最大。
            解題思路:
            首先定義:
            rt[a][b]   表示字符a和字符b配對(duì)時(shí)的權(quán)值
            dp[i][j] 表示第一個(gè)串到i和第二個(gè)串到j(luò)兩個(gè)子串所組合出的最大權(quán)和為dp[i][j];
            1)如果第i個(gè)字符和第j個(gè)字符配對(duì),那么dp[i][j] = dp[i-1][j-1] + rt[str1[i]][str2[j]];
            2)如果第一個(gè)串的第i個(gè)字符和'-'配對(duì), 那么dp[i][j] = dp[i-1][j] + rt[str1[i]]['-'];
            3)如果第二個(gè)串的第j個(gè)字符和'-'配對(duì),那么dp[i][j] = dp[i][j-1] + rt['-'][str2[j]];
            于是dp[i][j] = max{ dp[i-1][j-1] + rt[str1[i]][str2[j]],   dp[i-1][j] + rt[str1[i]]['-'],  dp[i][j-1] + rt['-'][str2[j]] };

            核心代碼:

            #include <iostream>

            using namespace std;

            int dp[110][110];
            char str[2][110];
            int len[2];
            int i, j;

            int rt[5][5= {
                
            {5-1-2-1-3},
                
            {-15-3-2-4},
                
            {-2-35-2-2},
                
            {-1-2-25-1},
                
            {-3-4-2-10}
            }
            ;

            int num(char c){
                
            if(c == 'A')
                    
            return 0;
                
            if(c == 'C')
                    
            return 1;
                
            if(c == 'G')
                    
            return 2;
                
            if(c == 'T')
                    
            return 3;
                
            return 4;
            }


            int Max(int a, int b, int c){
                
            if(c > b) b = c;
                
            return a > b ? a : b;
            }


            int main()
            {
                
            int t;
                scanf(
            "%d"&t);
                
            while(t--){
                    
            for(i = 0; i < 2; i++){
                        scanf(
            "%d"&len[i]);
                        scanf(
            "%s"&str[i][1]);
                    }


                    dp[
            0][0= 0;
                    
            for(i = 1; i <= len[0]; i++){
                        dp[i][
            0= dp[i-1][0+ rt[ num(str[0][i]) ][num('-')];
                    }


                    
            for(i = 1; i <= len[1]; i++){
                        dp[
            0][i] = dp[0][i-1+ rt[ num('-') ][ num(str[1][i]) ];
                    }


                    
            for(i = 1; i <= len[0]; i++){
                        
            for(j = 1; j <= len[1]; j++){
                            dp[i][j] 
            = Max(
                                dp[i
            -1][j-1+ rt[ num(str[0][i]) ][num(str[1][j])], 
                                dp[i
            -1][j] + rt[ num(str[0][i]) ][ num('-') ],
                                dp[i][j
            -1+ rt[ num('-') ][ num(str[1][j]) ]
                                );
                        }

                    }

                    printf(
            "%d\n", dp[ len[0] ][ len[1] ]);
                }

            }

            posted on 2009-02-09 14:30 英雄哪里出來 閱讀(385) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM

            久久91精品久久91综合| 亚洲国产成人精品无码久久久久久综合| 一级a性色生活片久久无| 久久人人爽人人爽人人av东京热 | 久久国产精品成人影院| 国产精品天天影视久久综合网| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 97香蕉久久夜色精品国产 | 久久国产精品成人片免费| 久久久久久亚洲精品不卡| 精品久久久久久中文字幕人妻最新| 国产精品免费久久久久影院| 久久国产欧美日韩精品| 精品无码久久久久久久动漫| 无码人妻少妇久久中文字幕蜜桃| 精品久久综合1区2区3区激情 | 国产精品内射久久久久欢欢 | 国产亚洲精久久久久久无码AV| 久久国产欧美日韩精品| 久久久久久久波多野结衣高潮| A级毛片无码久久精品免费| 成人国内精品久久久久一区| 久久久久久精品免费免费自慰| 精品久久久久久久中文字幕 | 久久99久久99精品免视看动漫| 久久久久黑人强伦姧人妻| 久久久91精品国产一区二区三区| 亚洲AV无码一区东京热久久| 免费无码国产欧美久久18| 亚洲精品无码久久毛片| 无码任你躁久久久久久老妇| 久久久久国产| 久久综合偷偷噜噜噜色| 亚洲天堂久久久| 99精品国产综合久久久久五月天| 久久久噜噜噜久久中文字幕色伊伊| 久久青青国产| 中文字幕无码久久精品青草 | 国产精品无码久久综合网| 精品水蜜桃久久久久久久| 色综合久久88色综合天天 |