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

            pku2151 Check the difficulty of problems 概率DP,可惡的StreamTokenizer!!!!!

            好吧,這道題思想開始就想到了,結果做的搓死了。。
            題意是這樣,ACM比賽,T個隊,M個題,第i個隊做出第j個題的概率為pi,j,求所有隊至少做一題并且冠軍隊(可能有多個隊)做出N題以上的概率
            首先,每個隊是獨立的。
            設dp[i][j]為前i個題目做出j題的概率,有dp方程dp[i][j]=dp[i-1][j-1]*(p[pos][i])+dp[i-1][j]*(1-p[pos][i])
            邊界條件:dp[0][0]=0;dp[i][0]=dp[i-1][0]*(1-p[pos][i])
            然后結果應該是每隊至少做出一題的概率減去在這個基礎上所有隊做題數小于N的概率。
            萬惡的StreamTokenizer,不知道讀入數據的時候出了什么詭異的問題,對照標程對拍,就是沒錯誤,一提交就WA!最后換Scanner,順利AC。。無語。
            比賽的時候知道了,數據比較大或者浮點的情況下還是別用StreamTokenizer了。。
             1import java.io.*;
             2import java.text.DecimalFormat;
             3import java.util.Arrays;
             4import java.util.Scanner;
             5public class Main {
             6
             7    /**
             8     * @param args
             9     */

            10
            11    static double dp[][]=new double[35][35],map[][]=new double[1001][31];
            12    static int m,t,n;
            13    public static void main(String[] args) throws Exception{
            14        Scanner in=new Scanner(System.in);
            15        while(true)
            16        {
            17            m=in.nextInt();t=in.nextInt();n=in.nextInt();
            18            if(m==0&&t==0&&n==0break;
            19            for(int i=1;i<=t;i++)
            20                for(int j=1;j<=m;j++)
            21                    map[i][j]=in.nextDouble();
            22            double total=1.0,minus=1.0;
            23            for(int i=1;i<=t;i++)
            24            {
            25                for(int j=0;j<=m;j++)
            26                    Arrays.fill(dp[j],0.0);
            27                double t1=0.0,t2=0.0;
            28                dp[0][0]=1.0;
            29                for(int j=1;j<=m;j++)
            30                {
            31                    dp[j][0]=dp[j-1][0]*(1-map[i][j]);
            32                    for(int k=1;k<=m;k++)
            33                        dp[j][k]=dp[j-1][k-1]*map[i][j]+dp[j-1][k]*(1-map[i][j]);
            34                }

            35                for(int j=1;j<=m;j++)
            36                {
            37                    t1+=dp[m][j];
            38                    t2+=(j<n?dp[m][j]:0);
            39                }

            40                    
            41                total*=t1;
            42                minus*=t2;
            43            }

            44            System.out.printf("%.3f\n",total-minus);
            45        }

            46
            47    }

            48
            49}

            50

            posted on 2010-11-02 01:23 yzhw 閱讀(194) 評論(0)  編輯 收藏 引用 所屬分類: DP 、combination math

            <2010年12月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久久久成人精品无码中文字幕 | 国产精品久久久久久| 香蕉久久av一区二区三区| 久久久免费精品re6| 精品久久人人爽天天玩人人妻 | 亚洲综合日韩久久成人AV| 亚洲精品久久久www| 一本色道久久综合狠狠躁| 狠狠色丁香久久婷婷综合五月 | 久久人妻AV中文字幕| 中文字幕久久欲求不满| 模特私拍国产精品久久| 青青国产成人久久91网| 国产精品久久久久久久久久影院| 久久综合给久久狠狠97色| 久久综合狠狠综合久久97色| 久久精品国产亚洲av高清漫画| 久久久久这里只有精品| 精品国产91久久久久久久 | 精品久久人人爽天天玩人人妻| 亚洲狠狠婷婷综合久久久久 | 亚洲欧美另类日本久久国产真实乱对白 | 久久国产香蕉视频| 72种姿势欧美久久久久大黄蕉| 亚洲人成无码网站久久99热国产 | 国产精品久久久久一区二区三区| 亚洲精品无码久久千人斩| 精品久久久久成人码免费动漫| 久久青青草原国产精品免费| 日本欧美久久久久免费播放网| 久久久噜噜噜久久中文字幕色伊伊 | 久久国产亚洲精品麻豆| 少妇人妻88久久中文字幕| 精品久久久中文字幕人妻 | 成人国内精品久久久久一区 | 国产精品青草久久久久福利99| 国产精品99久久99久久久| 人妻无码αv中文字幕久久| 久久狠狠爱亚洲综合影院| 天天躁日日躁狠狠久久| 色诱久久久久综合网ywww|