博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【POJ】3071 Football
阅读量:6899 次
发布时间:2019-06-27

本文共 604 字,大约阅读时间需要 2 分钟。

题意:2^n支队伍进行淘汰赛,每一轮都是第一个与第二个,第三个与第四个比赛,给出了这些人之间的胜率,赢了的进入下一轮,相对位置不变。一共n轮比赛。问哪支队伍n轮比赛后的胜率最大。(n<=7)

#include 
using namespace std;const int N2=(1<<7)+5, N=8;double d[N2][N], a[N2][N2];int p[N2][N], n, n2;int main() { for(int i=1; i<=128; ++i) p[i][1]=i-1; for(int i=1; i<=128; ++i) for(int j=2; j<=7; ++j) p[i][j]=p[i][j-1]>>1; while(scanf("%d", &n), ~n) { n2=1<
mx) { mx=d[i][n]; ans=i; } printf("%d\n", ans); } return 0;}

  

设d[i][j]表示第i个人第j轮比赛的胜率,最后比较d[i][n]就是答案

显然:

d[i][0]=1;

d[i][j]=d[i][j-1]\sum_{k=1}^{T} d[b[k]][j-1]*a[i][b[k]], b[k]表示第j场比赛可能会与i决斗的人的标号

然后乱搞就行了= =

 

转载地址:http://vgsdl.baihongyu.com/

你可能感兴趣的文章
分类精度评价指标
查看>>
文件操作
查看>>
openssl编译时!遇见的问题
查看>>
Linux安全加固--精简启动项
查看>>
软件需求分析模板
查看>>
HDU - 5457 Hold Your Hand (Trie + 最小割)
查看>>
MySql 到 SQL Server(MSSQL)
查看>>
静态链表
查看>>
解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同
查看>>
NFS
查看>>
静电引发的悲剧
查看>>
在Angularjs中使用directive自定义指令实现attribute的继承
查看>>
新手学习编程的最佳方式是什么
查看>>
程序员零起步(四)——实习
查看>>
day6
查看>>
Aix下如何运行Java程序
查看>>
js简单总结
查看>>
隐马尔可夫HMM中viterbi算法
查看>>
ospf 协议配置方法及实例
查看>>
Python:解决中文字符串问题
查看>>