• <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>
            posts - 100,  comments - 15,  trackbacks - 0
            //解釋轉的~~~~~~
            『題目大意』
            一次比賽中,共M道題,T個隊,p[i][j]表示隊i解出題j的概率;問每隊至少解出一題且

            冠軍隊至少解出N道題的概率。

            『算法』
            設a[i][j][k]表示第i隊在前j道題中共解出k道題的概率,易得a[i][j][k]有如下遞推
            關系(另需考慮邊界條件):

            a[i][j][k] = a[i][j-1][k-1] * p[i][j] + a[i][j-1][k] * (1-p[i][j])

            設s[i][j]表示a[i][M][0] + a[i][M][1] + ... + a[i][M][j]

            問題的解可以轉化為:每隊均至少做一題的概率(用P1表示)減去每隊做題數均在1到N-1

            之間的概率(用P2表示)。

            P1 = (s[1][M] - s[1][0])*(s[2][M]-s[2][0])*...*(s[T][M]-s[T][0])
            P2 = (s[1][N-1] - s[1][0])*(s[2][N-1]-s[2][0])*...*(s[T][N-1]-s[T][0])

            『算法復雜度』
            O(T*M^2)

            『說明』
            感謝UESTC的zhucheng在poj的提示!

            #include<iostream>
            using namespace std;
            #define MM 30
            #define MT 1000

            double p[MT+1][MM+1];
            double d[MT+1][MM+1][MM+1];
            double MTO[MT+1]; //每隊至少做出一題的概率
            double LTN[MT+1];//少于N道,亦即1N-1

            int main()
            {
                
            int i,j,k;
                
            int M,T,N;
                
            double tmp1,tmp2;
                
            while(scanf("%d%d%d",&M,&T,&N)!=EOF && M)
                
            {
                    memset(MTO,
            0,sizeof(MTO));
                    memset(LTN,
            0,sizeof(LTN));
                    
            for(i=1;i<=T;i++)
                        
            for(j=1;j<=M;j++)
                            scanf(
            "%lf",&p[i][j]);
                    
            for(i=1;i<=T;i++)
                    
            {
                        d[i][
            0][0]=1;
                        
            for(j=1;j<=M;j++)
                        
            {
                            d[i][j][
            0= d[i][j-1][0]*(1-p[i][j]);
                            
            for(k=1;k<=M;k++)
                                d[i][j][k]
            =p[i][j]*d[i][j-1][k-1]+(1-p[i][j])*d[i][j-1][k];
                        }

                    }

                    tmp1
            =tmp2=1.0;
                    
            for(i=1;i<=T;tmp1*=MTO[i],i++)
                        
            for(k=1;k<=M;k++)
                            MTO[i]
            +=d[i][M][k];
                    
            for(i=1;i<=T;tmp2*=LTN[i],i++)
                        
            for(k=1;k<N;k++)
                            LTN[i]
            +=d[i][M][k];
                    printf(
            "%.3lf\n",tmp1-tmp2);
                }


                
            return 0;
            }

            附上discuss上一組數據:
            10 20 10
            0.1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 0.2
            1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 0.8
            0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.7
            0.2 0.23 0.56 0.2 0.23 0.56 0.2 0.23 0.56 0.88
            0.56 0.2 0.23 0.56 0.88 0.56 0.2 0.23 0.56 0.88
            0.37 0.99 0.12 0.82 0.47 0.37 0.99 0.12 0.82 0.47
            0.82 0.47 0.37 0.99 0.12 0.82 0.47 0.37 0.99 0.12
            0.37 0.99 0.12 0.82 0.472 0.373 0.99 0.12 0.82 0.47
            0.472 0.373 0.99 0.12 0.82 0.472 0.373 0.99 0.12 0.82
            0.1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 0.2
            1 0.9 0.8 1 0.9 0.8 1 0.9 0.8 0.8
            0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.7
            0.2 0.23 0.56 0.2 0.23 0.56 0.2 0.23 0.56 0.88
            0.56 0.2 0.23 0.56 0.88 0.56 0.2 0.23 0.56 0.88
            0.37 0.99 0.12 0.82 0.47 0.37 0.99 0.12 0.82 0.47
            0.82 0.47 0.37 0.99 0.12 0.82 0.47 0.37 0.99 0.12
            0.37 0.99 0.12 0.82 0.472 0.373 0.99 0.12 0.82 0.47
            0.472 0.373 0.99 0.12 0.82 0.472 0.373 0.99 0.12 0.82
            0.56 0.88 0.56 0.2 0.23 0.373 0.99 0.12 0.82 0.472
            0.472 0.373 0.99 0.12 0.82 0.82 0.472 0.373 0.99 0.33

            結果:0.740
            posted on 2009-07-19 17:13 wyiu 閱讀(450) 評論(1)  編輯 收藏 引用 所屬分類: POJ
            国产精品免费看久久久香蕉| 久久夜色精品国产亚洲av| 精品久久久久久无码不卡| 97精品国产97久久久久久免费| 99re这里只有精品热久久| 老司机午夜网站国内精品久久久久久久久 | 伊人精品久久久久7777| 久久精品99久久香蕉国产色戒 | 精品久久人人做人人爽综合| 无码人妻久久一区二区三区免费 | 午夜精品久久久久成人| 久久久91精品国产一区二区三区| 狠狠色婷婷久久一区二区 | 99久久久国产精品免费无卡顿| 日韩va亚洲va欧美va久久| 男女久久久国产一区二区三区| 一本一道久久综合狠狠老| 91久久精品无码一区二区毛片| 久久国产乱子精品免费女| 97超级碰碰碰久久久久| 一级a性色生活片久久无少妇一级婬片免费放 | 久久免费观看视频| 久久免费美女视频| 99久久久精品免费观看国产| 国色天香久久久久久久小说| 久久久久久久久久久免费精品| 国产精品综合久久第一页| 久久国产精品99国产精| 无码人妻久久一区二区三区 | 亚洲午夜精品久久久久久app| 欧美久久综合性欧美| 久久精品国产亚洲av麻豆小说| 久久婷婷人人澡人人爽人人爱 | 亚洲?V乱码久久精品蜜桃| 欧美精品一本久久男人的天堂| 精品精品国产自在久久高清| 国产精品99久久久久久人| 国产精品一久久香蕉国产线看 | 亚洲一区中文字幕久久| 国产成人AV综合久久| 伊人久久大香线蕉影院95|