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

            pku2138 Travel Games DP找最長鏈

            題意是這樣
            給出一些字符串,如果字符串i可以由字符串j刪除一個(gè)字母而獲得,則字符串i可以導(dǎo)出字符串j。
            現(xiàn)求以固定字符串開頭的最長鏈
            把字符串看成圖的節(jié)點(diǎn),一次DP即可~
            預(yù)處理的時(shí)候有點(diǎn)技巧,先對字符串按其長度排序,然后線掃+Hash即可在線性時(shí)間內(nèi)構(gòu)圖,總復(fù)雜度即排序的復(fù)雜度nlogn
            現(xiàn)在對java是又恨又愛,喜歡里面的Hash表,但是經(jīng)常暴內(nèi)存空間讓人很頭疼,經(jīng)常是不調(diào)用System.gc就MLE,每組測試數(shù)據(jù)前調(diào)用一次就TLE,然后就開始艱難的嘗試,2組測試數(shù)據(jù)調(diào)用一次,3組測試數(shù)據(jù)調(diào)用一次,無限循環(huán)
             1import java.io.*;
             2import java.util.*;
             3public class Main {
             4
             5    /**
             6     * @param args
             7     */

             8    static class cmp implements Comparator<String>
             9    {
            10        public int compare(String a,String b)
            11        {
            12            return a.length()-b.length();
            13        }

            14    }

            15    static ArrayList<String> data=new ArrayList<String>();
            16    static HashMap<String,Integer> refer=new HashMap<String,Integer>();
            17    static ArrayList<Integer> g[];
            18    static int dp[];
            19    static int path[];
            20    static int solve(int pos)
            21    {
            22        if(dp[pos]!=-1return dp[pos];
            23        else
            24        {
            25            dp[pos]=1;
            26            for(int p:g[pos])
            27                if(solve(p)+1>dp[pos])
            28                {
            29                    dp[pos]=solve(p)+1;
            30                    path[pos]=p;
            31                }

            32            return dp[pos];
            33        }

            34    }

            35    public static void main(String[] args) throws IOException{
            36        StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
            37        in.nextToken();
            38        int num=(int)in.nval;
            39        in.nextToken();
            40        String str=in.sval;
            41        int startnum=-1;
            42        g=new ArrayList[num];
            43        dp=new int[num];
            44        path=new int[num];
            45        Arrays.fill(dp,-1);
            46        Arrays.fill(path,-1);
            47        for(int i=1;i<=num;i++)
            48        {
            49            in.nextToken();
            50            data.add(in.sval);
            51        }

            52        Collections.sort(data,new cmp());
            53        for(int i=0;i<data.size();i++)
            54        {
            55            g[i]=new ArrayList<Integer>();
            56            for(int j=0;j<data.get(i).length();j++)
            57              if(refer.containsKey(data.get(i).substring(0,j)+data.get(i).substring(j+1)))
            58                  g[refer.get(data.get(i).substring(0,j)+data.get(i).substring(j+1))].add(i);
            59            refer.put(data.get(i), i);
            60            if(startnum==-1&&str.equals(data.get(i))) startnum=i;
            61        }

            62        solve(startnum);
            63        while(path[startnum]!=-1) startnum=path[startnum];
            64        System.out.println(data.get(startnum));
            65    }

            66
            67}

            68
            69

            posted on 2010-11-01 22:21 yzhw 閱讀(229) 評論(0)  編輯 收藏 引用 所屬分類: DPgraph

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            統(tǒng)計(jì)系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            嫩草影院久久99| 亚洲人成无码www久久久| 欧美性大战久久久久久| 久久99热国产这有精品| 久久久久久久久无码精品亚洲日韩| 久久久人妻精品无码一区| 91久久福利国产成人精品| 久久精品中文字幕久久| 国产亚洲欧美成人久久片| 久久久一本精品99久久精品88| 久久久亚洲裙底偷窥综合| 久久久无码精品亚洲日韩蜜臀浪潮| 久久久久久久97| 色欲综合久久中文字幕网| 97久久精品午夜一区二区| 久久99免费视频| 久久无码精品一区二区三区| 日韩va亚洲va欧美va久久| 久久这里只有精品首页| 国内精品久久人妻互换| 国产福利电影一区二区三区久久久久成人精品综合 | 精品伊人久久久| 国内精品久久久久影院日本| 欧美日韩中文字幕久久伊人| 久久青青草原精品国产不卡| 精品久久久久久中文字幕大豆网| 2021久久国自产拍精品| 久久久久久青草大香综合精品| 日本WV一本一道久久香蕉| 国内精品久久人妻互换 | 久久91精品综合国产首页| 伊人久久大香线蕉AV一区二区| 久久综合狠狠综合久久综合88| 国产精品欧美久久久天天影视| 日韩中文久久| 久久精品人人做人人爽电影| 亚洲欧美另类日本久久国产真实乱对白 | 国产69精品久久久久APP下载| 99国产精品久久| 中文无码久久精品| 久久久久婷婷|