• <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刪除一個字母而獲得,則字符串i可以導出字符串j。
            現求以固定字符串開頭的最長鏈
            把字符串看成圖的節點,一次DP即可~
            預處理的時候有點技巧,先對字符串按其長度排序,然后線掃+Hash即可在線性時間內構圖,總復雜度即排序的復雜度nlogn
            現在對java是又恨又愛,喜歡里面的Hash表,但是經常暴內存空間讓人很頭疼,經常是不調用System.gc就MLE,每組測試數據前調用一次就TLE,然后就開始艱難的嘗試,2組測試數據調用一次,3組測試數據調用一次,無限循環
             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 閱讀(224) 評論(0)  編輯 收藏 引用 所屬分類: DPgraph

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久无码人妻精品一区二区三区| 97精品久久天干天天天按摩| 免费一级做a爰片久久毛片潮| 久久久久久国产精品美女| 亚洲乱码日产精品a级毛片久久| 香蕉久久夜色精品国产尤物| 人妻无码αv中文字幕久久| 久久久综合九色合综国产| 久久这里的只有是精品23| 国产成人久久精品激情| 亚洲欧美国产精品专区久久| 久久久久久久人妻无码中文字幕爆| 久久免费国产精品一区二区| 久久久亚洲AV波多野结衣| 国产精品成人99久久久久 | 97视频久久久| 国产激情久久久久影院小草| 精品久久久无码21p发布| 日本久久久久久中文字幕| 欧美喷潮久久久XXXXx| 亚洲日本va午夜中文字幕久久| 99re久久精品国产首页2020| 国内高清久久久久久| 亚洲国产成人乱码精品女人久久久不卡 | 久久久精品人妻无码专区不卡| 久久天天躁狠狠躁夜夜网站| 久久婷婷色香五月综合激情| 久久精品无码专区免费| 国产精品午夜久久| 国产韩国精品一区二区三区久久| 久久精品人人做人人爽电影| 久久精品夜色噜噜亚洲A∨| 久久国产精品久久| 99久久中文字幕| 国产婷婷成人久久Av免费高清| 久久久久女人精品毛片| 国产成人精品白浆久久69| 97热久久免费频精品99| 日本一区精品久久久久影院| 亚洲一区中文字幕久久| 久久毛片免费看一区二区三区|