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

            糯米

            TI DaVinci, gstreamer, ffmpeg
            隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
            數據加載中……

            POJ 1080 Human Gene Functions 動態規劃

            思路:

            由于上下都可以加空格,這個有點崩潰。
            但后來發現還是可以用動態規劃做的。
            假設輸入的字符串分別為 A,B
            f[i][j] = { 從 A[i] 和 B[j] 開始匹配,所能達到的最大值 }
            假設 A[i] = G,B[j] = C
            那么現在的情況就是
            Gxxxxx
            Cxxxxx
            狀態轉移為
            => f[i + 1][j] + table(A[i], '-')
            G...
            -C..

            => f[i][j + 1] + table(B[j], '-')
            -G..
            C...

            => f[i + 1][j + 1] + table(A[i], B[j])
            G...
            C...

            可以用滾動數組。

            所以這樣就解決了,覺得很神奇。

            #include <stdio.h>

            int N, M, f[2][256], *pre, *cur;
            char A[256], B[256], map[256];
            int tbl[5][5= {
                
            5-1-2-1-3},
                
            {-1,  5-3-2-4},
                
            {-2-3,  5-2-2},
                
            {-1-2-2,  5-1},
                
            {-3-4-2-1,  0},
            }
            ;

            inline 
            void swap(int **a, int **b)
            {
                
            int *= *a;
                
            *= *b;
                
            *= t;
            }


            inline 
            int max(int a, int b)
            {
                
            return a > b ? a : b;
            }


            inline 
            int min(int a, int b)
            {
                
            return a < b ? a : b;
            }


            inline 
            int dif(char a, char b)
            {
                
            return tbl[map[a]][map[b]];
            }


            int main()
            {
                
            int t, i, j;
                
                freopen(
            "e:\\test\\in.txt""r", stdin);

                map[
            'A'= 0;
                map[
            'C'= 1;
                map[
            'G'= 2;
                map[
            'T'= 3;
                map[
            '-'= 4;
             
                scanf(
            "%d"&t);
                
            while (t--{
                    scanf(
            "%d%s%d%s"&N, &A[1], &M, &B[1]);            
                    pre 
            = &f[0][0];
                    cur 
            = &f[1][0];
                    cur[
            0= 0;
                    
            for (i = 1; i <= M; i++)
                        cur[i] 
            = dif(B[i], '-'+ cur[i - 1];
                    
            for (i = 1; i <= N; i++{
                        swap(
            &pre, &cur);
                        cur[
            0= dif(A[i], '-'+ pre[0];
                        
            for (j = 1; j <= M; j++{
                            cur[j] 
            = dif(A[i], B[j]) + pre[j - 1];
                            cur[j] 
            = max(cur[j], dif(A[i], '-'+ pre[j]);
                            cur[j] 
            = max(cur[j], dif(B[j], '-'+ cur[j - 1]);
                        }

                    }

                    printf(
            "%d\n", cur[M]);
                }

            }

            posted on 2010-04-21 21:41 糯米 閱讀(391) 評論(0)  編輯 收藏 引用 所屬分類: POJ

            精品久久人人妻人人做精品| 亚洲综合日韩久久成人AV| 亚洲精品高清久久| 久久影视综合亚洲| 1000部精品久久久久久久久| 91精品国产91久久久久久蜜臀| 欧美大战日韩91综合一区婷婷久久青草 | 日本WV一本一道久久香蕉| 久久婷婷成人综合色综合| 国产精品无码久久四虎| 亚洲欧美伊人久久综合一区二区 | 成人精品一区二区久久| 99蜜桃臀久久久欧美精品网站| 久久婷婷久久一区二区三区| 久久伊人五月丁香狠狠色| 国产高清美女一级a毛片久久w| 亚洲精品乱码久久久久久按摩| 国产亚洲色婷婷久久99精品91 | 久久久久人妻精品一区二区三区| 国产精品丝袜久久久久久不卡| 久久亚洲精精品中文字幕| 天天综合久久一二三区| 99久久www免费人成精品| 好久久免费视频高清| 久久一日本道色综合久久| 狠狠色丁香久久婷婷综合蜜芽五月 | 亚洲国产精品狼友中文久久久 | 中文字幕乱码人妻无码久久| 亚洲精品综合久久| 一本久久综合亚洲鲁鲁五月天| 国产高清国内精品福利99久久| 久久久久中文字幕| 久久久噜噜噜www成人网| 久久综合给合久久狠狠狠97色| 香蕉久久夜色精品国产尤物| 色偷偷88欧美精品久久久| 久久久受www免费人成| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 精品久久一区二区| 久久综合综合久久97色| 伊人久久免费视频|