poj3071
题目大意,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的更多相关文章
- 【poj3071】 Football
http://poj.org/problem?id=3071 (题目链接) 题意 ${2^n}$个队伍打淘汰赛,输的被淘汰.第1个队打第2个队,第3个队打第4个队······给出第i个队伍打赢第j个队 ...
- poj3071 Football(概率dp)
poj3071 Football 题意:有2^n支球队比赛,每次和相邻的球队踢,两两淘汰,给定任意两支球队相互踢赢的概率,求最后哪只球队最可能夺冠. 我们可以十分显然(大雾)地列出转移方程(设$f[ ...
- 【POJ3071】Football - 状态压缩+期望 DP
Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2 ...
- Football(POJ3071)
Football Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3469 Accepted: 1782 Descript ...
- poj3071 Football
学习位运算在比赛的技巧 http://poj.org/problem?id=3071 Football Time Limit: 1000MS Memory Limit: 65536K Total ...
- POJ3071:Football(概率DP)
Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2 ...
- Football 概率DP poj3071
Footbal ...
- POJ3071 Football 概率DP 简单
http://poj.org/problem?id=3071 题意:有2^n个队伍,给出每两个队伍之间的胜率,进行每轮淘汰数为队伍数/2的淘汰赛(每次比赛都是相邻两个队伍进行),问哪只队伍成为冠军概率 ...
- [poj3071]football概率dp
题意:n支队伍两两进行比赛,求最有可能获得冠军的队伍. 解题关键:概率dp,转移方程:$dp[i][j] + = dp[i][j]*dp[i][k]*p[j][k]$表示第$i$回合$j$获胜的概率 ...
随机推荐
- 关于Sublime text 2中Emmet的安装 _html:xt无效
其实这个网上很多教程,有一些方法是可行的,但是有一些方法是行不通的. 虽然Sublime text 2有不同平台的版本,但是安装起来,还是有点差异的. 先简单介绍一下Emmet,Emmet是Zen-c ...
- 游戏算法中lua脚本详解
此外,函数本身也是一个变量,比如: dp@dp:~ % cat test.lua local mylen={} mylen.len3=function (x,y,z) return math.sqrt ...
- 在windows下搭建linux-c学习环境
下载virtualbox并安装: https://www.virtualbox.org/wiki/Downloads 现在vagrant并安装: https://www.vagrantup.com/d ...
- BZOJ 3240: [Noi2013]矩阵游戏
3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1586 Solved: 698[Submit][Status ...
- LED限流电阻的大小计算
很多时候电路中都用LED做指示,这就涉及到限流电阻,这个怎么选取呢? 可以举个例子,贴片蓝色LED datasheet上参数如下 要注意理解LED Datasheet上的参数.最重要的三个参数如下: ...
- [置顶] Android系统移植与调试之------->如何修改Android设备添加3G上网功能
1.首先先来看一下修改前后的效果对比图 step1.插上3G设备前 step2.插上3G设备后,获取信号中.... step3.插上3G设备后,获取到信号 step4.使用3G信号浏览网页 2.下面讲 ...
- 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句
8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句 本节讨论优化用于处理WHERE子句, 例子是使用SELECT 语句,但是相同的优化 ...
- POJ 2923 Relocation
题目大意:有n个物品,有两辆车载重分别是c1,c2.问需要多少趟能把物品运完. (1 ≤ Ci ≤ 100,1 ≤ n ≤ 10,1 ≤ wi ≤ 100). 题解:n小思状压.我们先把所有一次可以拉 ...
- iOS 9之Safari广告拦截器(Content Blocker)
金田( github 示例源码) 相对于谷歌对广告拦截的禁止,苹果与之态度截然相反,继Mac版Safari加入广告拦截工具之后,即将到来的iOS9对Safari也引入了内容拦截插件-Content B ...
- Android手势操作
xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...