HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题
第一年参加现场赛,比赛的时候就A了这一道,基本全场都A的签到题竟然A不出来,结果题目重现的时候1A,好受打击 ORZ.....
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4800
题目大意:给定C(3,N)支队伍之间对战的获胜概率,再给定一个序列存放队伍编号,每次获胜之后可以选择和当前战胜的对手换队伍。问按给定序列依次挑战全部胜利的最大概率。
解题思路:状压DP
dp[i][j]表示使用队伍i从编号j开始挑战全胜的概率,ai[i]表示i位置的队伍,rate[i][j]表示队伍i战胜队伍j的概率。
状态转移方程:
dp[i][j]=r[i][ai[j]]*max(dp[i][j+1],dp[ai[j]][j+1])
代码如下:
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 10005 int m,n;
int ai[N];
double dp[][N],rate[][];
bool vis[][N]; double search(int team,int lo)
{
if(lo>m-||team<||team>n)
return ;
if(vis[team][lo]==true)
return dp[team][lo];
else
{
double t=search(team,lo+);
if(team!=ai[lo])
{
double t2=search(ai[lo],lo+);
if(t2>t)
t=t2;
}
vis[team][lo]=true;
dp[team][lo]=rate[team][ai[lo]]*t;
return dp[team][lo];
}
} int main()
{
int i,j;
while(scanf("%d",&n)!=EOF)
{
n=n*(n-)*(n-);
n/=;
for(i=;i<n;i++){
for(j=;j<n;j++)
{
scanf("%lf",&rate[i][j]);
}
}
scanf("%d",&m);
for(i=;i<m;i++)
scanf("%d",&ai[i]);
memset(vis,false,sizeof(vis));
for(i=;i<n;i++)
{
dp[i][m-]=rate[i][ai[m-]];
vis[i][m-]=true;
}
double _max=;
for(i=;i<n;i++)
{
_max=max(_max,search(i,));
}
printf("%.6lf\n",_max);
}
return ;
}
HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题的更多相关文章
- HDU 4815 Little Tiger vs. Deep Monkey 2013 长春现场赛C题
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4815 [题意] n个题目,每题有各自的分数,A有50%的概率答对一道题目得到相应分数,B想要在至少P的概率 ...
- 2013 长沙网络赛J题
思路:这题对于其他能退出所有值的情况比较好像,唯一不能确定的是XXOXXOXXOXX这个形式的序列,其中XX表示未知,O表示已知. 我们令num[1]=0,那么num[4]=sum[3]-sum[2] ...
- HDU 4816 Bathysphere (2013长春现场赛D题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4816 2013长春区域赛的D题. 很简单的几何题,就是给了一条折线. 然后一个矩形窗去截取一部分,求最 ...
- HDU 4741 Save Labman No.004 (2013杭州网络赛1004题,求三维空间异面直线的距离及最近点)
Save Labman No.004 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4739 Zhuge Liang's Mines (2013杭州网络赛1002题)
Zhuge Liang's Mines Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 2013长沙网络赛H题Hypersphere (蛋疼的题目 神似邀请赛A题)
Hypersphere Time Limit: 1 Second Memory Limit: 32768 KB In the world of k-dimension, there's a ...
- DP ZOJ 3735 Josephina and RPG
题目传送门 题意:告诉你C(m,3)个队伍相互之间的胜率,然后要你依次对战n个AI队伍,首先任选一种队伍,然后战胜一个AI后可以选择替换成AI的队伍,也可以不换,问你最后最大的胜率是多少. 分析:dp ...
- HDU 4791 Alice's Print Service (2013长沙现场赛,二分)
Alice's Print Service Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HDU 4793 Collision (2013长沙现场赛,简单计算几何)
Collision Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- android 高德地图API 之 java.lang.UnsatisfiedLinkError: Couldn't load amapv3: findLibrary returned null错误
错误场景: 运行android app时,在运行到调用高德地图API时,出现 “java.lang.UnsatisfiedLinkError: Couldn't load amapv3: findLi ...
- shell脚本学习之case例子
case和select结构在技术上说并不是循环, 因为它们并不对可执行代码块进行迭代. 但是和循环相似的是, 它们也依靠在代码块顶部或底部的条件判断来决定程序的分支. 在代码块中控制程序分支 ca ...
- index full scan/index fast full scan/index range scan
**************************1************************************* 索引状态: valid. N/A . ...
- oracle行列转换总结-转载自ITPUB
原贴地址:http://www.itpub.net/thread-1017026-1-1.html 谢谢原贴大人 最近论坛很多人提的问题都与行列转换有关系,所以我对行列转换的相关知识做了一个总结, 希 ...
- 文字排版--字体(font-family)
我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:"宋体"; ...
- 微信开发python+django两个月的成功经历,django是个好框架!
时间:大三 上学期没有用微信内置浏览器而纯对话开发,坑了自己好一下. 下学期选错bottle框架,以为轻量好,谁知开发中什么都自己来很痛苦. 选对了框架django,终于在大三最后的个把月里写 ...
- openerp binary filed import export
1: user xmlrpc 2: use csv file to export import but want to change the csv model field_size_limit
- 使用windows live writer 编辑博客日志
使用Windows Live Writer 编辑日志 一 意义 写博客日志是个需要坚持的好习惯.使用Windows Live Writer,能不受网页自带编辑器限制. Markdown支持.安装mar ...
- DM9000C网卡驱动程序移植
1.取消版本号不符终止程序运行 2.iobase基地址修改为s3c3440的0x20000000 3.网卡使用的中断号改为IRQ_EINT7 4.中断触发方式改为上升沿触发 5.设置S3C2440的m ...
- centos下安装chdmg
http://www.aboutyun.com/thread-9075-1-1.html 基本参考这个 yum clean all yum update 1.保证selinux关闭 / ...