题目大意,1<<n个球队比赛赛程是这样的

      1

     1    1

1   1 1  1

另dp[i][k]为k队进入第i场的概率

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int maxa = (<<);
double a[maxa][maxa];
double dp[][maxa];
int main(){
int n;
while(scanf("%d", &n)!=EOF){
if(n == -){
return ;
}
for(int i = ; i < (<<n); i++){
for(int k = ; k < (<<n); k++)
scanf("%lf", &a[i][k]);
}
memset(dp, , sizeof(dp));
for(int i = ; i < (<<n); i++)
dp[][i] = ;
for(int i = ; i <= n; i++){
// printf("%d*\n", i);
for(int k = ; k < (<<n); k++){
// printf("%d ", k);
for(int j = k/(<<i)*(<<i); j < k/(<<i)*(<<i)+(<<i); j++){
if(j/(<<(i-)) != k/(<<(i-))){
dp[i][k] += dp[i-][j]*a[k][j];
//printf("%d ", j);
}
}//puts("");
dp[i][k] = dp[i][k]*dp[i-][k];
}
}
/* for(int k = 0; k <= n; k++){
for(int i = 0; i < (1<<n); i++){
printf("%lf ", dp[k][i]);
}puts("");
}*/
double maxn = dp[n][];
//printf("%lf\n", maxn);
int ans = ;
for(int i = ; i < (<<n); i++){
if(dp[n][i] > maxn){
maxn = dp[n][i];
ans = i;
}
//printf("%lf\n", dp[1][i]);
}
printf("%d\n", ans+); }
}

poj3071的更多相关文章

  1. 【poj3071】 Football

    http://poj.org/problem?id=3071 (题目链接) 题意 ${2^n}$个队伍打淘汰赛,输的被淘汰.第1个队打第2个队,第3个队打第4个队······给出第i个队伍打赢第j个队 ...

  2. poj3071 Football(概率dp)

    poj3071 Football 题意:有2^n支球队比赛,每次和相邻的球队踢,两两淘汰,给定任意两支球队相互踢赢的概率,求最后哪只球队最可能夺冠. 我们可以十分显然(大雾)地列出转移方程(设$f[ ...

  3. 【POJ3071】Football - 状态压缩+期望 DP

    Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2 ...

  4. Football(POJ3071)

    Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3469   Accepted: 1782 Descript ...

  5. poj3071 Football

    学习位运算在比赛的技巧 http://poj.org/problem?id=3071 Football Time Limit: 1000MS   Memory Limit: 65536K Total ...

  6. POJ3071:Football(概率DP)

    Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2 ...

  7. Football 概率DP poj3071

                                                                                                 Footbal ...

  8. POJ3071 Football 概率DP 简单

    http://poj.org/problem?id=3071 题意:有2^n个队伍,给出每两个队伍之间的胜率,进行每轮淘汰数为队伍数/2的淘汰赛(每次比赛都是相邻两个队伍进行),问哪只队伍成为冠军概率 ...

  9. [poj3071]football概率dp

    题意:n支队伍两两进行比赛,求最有可能获得冠军的队伍. 解题关键:概率dp,转移方程:$dp[i][j] +  = dp[i][j]*dp[i][k]*p[j][k]$表示第$i$回合$j$获胜的概率 ...

随机推荐

  1. 利用google浏览器开发者工具调试网页(详)

    前端程序员或者在校大学生正在开发网页,如果想要测试或者通过测试优化网页结构,该怎么办呢?这就需要用到一款工具,chrome浏览器的开发者工具?本文写给尚不熟悉这个开发者工具的同学们或者同行们,话不多说 ...

  2. web登录与授权

    web开发已经流行了很多年,登录与授权也基本有一套通用的流程,下面是我自己常用的登录与授权方式,欢迎大家讨论与吐槽. 概念: 登录是过程,授权是结果.登录只是为了获得页面的访问权限 or 操作权限 o ...

  3. Go Cookie 练习

    package main import ( "io" "log" "net/http" ) func main() { http.Handl ...

  4. 转:对于linux下system()函数的深度理解(整理)

    这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...

  5. Web Server PROPFIND Method internal IP Discosure

    Title:Web Server PROPFIND Method internal IP Discosure  --2012-11-09 09:47 Nessus扫描出来一个安全缺陷,Web Serv ...

  6. android编程之悬浮窗体

    用过手机360和QQ手机管家等一些软件的朋友,会发现,在这些应用中,会出现一个悬浮窗体,例如QQ手机管家中打电话的场景: 这种窗体除了会显示外,还可以移动它的位置,并且一直显示.除了关闭当前程序外,窗 ...

  7. MCS-51单片机内部结构

    8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解. 8051单片机包含中央处理器.程序存储器(ROM).数据存储器(RAM).定时/计数器.并行接口.串行接口和中断系统 ...

  8. ~/.bashrc的常用alias设置

    centos6.5系统中,alias定义在/etc/bashrc,分别写在/etc/profile.d/*.sh中,可以在此目录添加my.sh, alias attrib='chmod'alias c ...

  9. 2015.9.11模拟赛 codevs4162 bzoj1774【无双大王】

    题目描述 Description 无双大王hzwer扫清六合,席卷八荒,万姓倾心,四方仰德. hzwer拥有一片领土,其中有n个城市和m条双向道路.他规定每个人在领土上行走都要交过路费,同时进城也要交 ...

  10. css浮动+应用(瀑布流效果的实现)

    首先是index.html文件: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...