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

            pku1202 Family DAG圖上的概率DP

            題意:
            給出N個怪物的家譜樹,求M對怪物間的相關度。怪物可能一夫多妻或一妻多夫,也可以隔代交配。

            給力條件:DAG

            解法:
            眾所周知,DP有兩種推理方法:第i個狀態能推出哪些狀態以及第i個狀態可以由哪些狀態得出,本題必須使用第二種方案
            dp[pos][i],i=1..n為第pos個節點與其前趨(包括間接)節點間的相關度。
            狀態轉移即為dp[pos][i]=sum(dp[p][i]*0.5),p為pos的直接前驅趨節點。
            這題POJ好詭異,死都過不去,但是在小poj(poj.grids.cn),和zju上都沒問題。可能將遞歸改成拓撲序上的迭代就可以了。不過我懶,不想動- -

            代碼:

             1import java.io.*;
             2import java.util.*;
             3import java.math.*;
             4public class Main {
             5    static int nxt[][]=new int[305][305];
             6    static BigDecimal dp[][]=new BigDecimal[305][305],two=BigDecimal.ONE.add(BigDecimal.ONE);
             7    static int n=0,m=0;
             8    static boolean used[]=new boolean[305];
             9    static StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
            10    static int nextInt() throws IOException
            11    {
            12        in.nextToken();
            13        return (int)in.nval;
            14    }

            15    static void dfs(int pos)
            16    {
            17        if(used[pos]) return;
            18        used[pos]=true;
            19        
            20        for(int j=0;j<2&&nxt[pos][j]!=-1;j++)
            21        {
            22            int p=nxt[pos][j];
            23            dfs(p);
            24            for(int i=1;i<=n;i++)  {dp[pos][i]=dp[pos][i].add(dp[p][i].divide(two));dp[i][pos]=dp[pos][i];}
            25        }

            26        dp[pos][pos]=BigDecimal.ONE;
            27    }

            28    public static void main(String[] args) throws IOException{
            29        n=nextInt();
            30         m=nextInt();
            31        nxt=new int[n+1][2];
            32        used=new boolean[n+1];
            33        dp=new BigDecimal[n+1][n+1];
            34        for(int i=1;i<=n;i++)
            35        {
            36            Arrays.fill(dp[i],BigDecimal.ZERO);
            37            Arrays.fill(nxt[i],-1);
            38        }

            39        Arrays.fill(used, false);
            40        for(int i=0;i<m;i++)
            41        {
            42            int a=nextInt(),b=nextInt(),c=nextInt();
            43            nxt[a][0]=b;
            44            nxt[a][1]=c;
            45        }

            46        for(int i=1;i<=n;i++)
            47            dfs(i);
            48       m=nextInt();
            49       for(int i=0;i<m;i++)
            50       {
            51           int a=nextInt(),b=nextInt();
            52          System.out.println(dp[a][b].multiply(new BigDecimal("100")).stripTrailingZeros().toPlainString()+"%");
            53       }

            54    }

            55}

            posted on 2011-02-05 20:59 yzhw 閱讀(321) 評論(0)  編輯 收藏 引用 所屬分類: DPgraph

            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久亚洲精品无码观看不卡| 久久综合亚洲欧美成人| 久久精品三级视频| 国内精品九九久久精品| 久久婷婷五月综合色奶水99啪 | 亚洲午夜福利精品久久| 午夜欧美精品久久久久久久| 久久精品国产秦先生| 国产一区二区久久久| 国产成人精品久久一区二区三区av | 99久久国产精品免费一区二区| 精品久久一区二区三区| 狠狠色丁香婷婷久久综合| 精品999久久久久久中文字幕| 欧美午夜A∨大片久久| 亚洲国产精品无码久久一区二区 | 国产精品久久久久蜜芽| 99久久精品国产一区二区三区 | 欧美精品一区二区精品久久| 久久久久亚洲AV无码观看| 久久婷婷色综合一区二区| 久久免费视频网站| 久久九九精品99国产精品| 中文成人无码精品久久久不卡 | 久久无码AV中文出轨人妻| 日日狠狠久久偷偷色综合免费 | 欧美一区二区三区久久综合| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产无套内射久久久国产| 久久亚洲国产精品一区二区| 色偷偷偷久久伊人大杳蕉| 性高湖久久久久久久久| 99久久99久久精品国产片果冻 | 久久91精品国产91| 国产偷久久久精品专区| 欧美丰满熟妇BBB久久久| 亚洲中文字幕伊人久久无码| 蜜臀久久99精品久久久久久| 思思久久好好热精品国产| 九九精品久久久久久噜噜| 久久人人爽人人爽人人片AV高清 |