HDU 5013 City Tour
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5013
题意:

思路:

这里有错,是Hi(x)=sigama(Hji)(j属于x)
const int N=18; int m,n;
double p[N],H[N][N]; double f[N][1<<N];
double dp[N][1<<N]; double a[1<<N],aa[1<<N]; double pp[1<<N],qq[1<<N]; int cnt[1<<N]; void init()
{
int i;
for(i=1;i<(1<<N);i++) cnt[i]=cnt[i>>1]+(i&1);
} int sgn(double x)
{
if(x>1e-20) return 1;
if(x<-1e-20) return -1;
return 0;
} int main()
{ init();
while(scanf("%d%d",&m,&n)!=-1)
{
int i,j,k;
for(i=0;i<m;i++)
{
scanf("%lf",&p[i]);
if(sgn(p[i]-1)==0) p[i]-=1e-10;
}
for(i=0;i<(1<<m);i++)
{
pp[i]=qq[i]=1;
for(j=0;j<m;j++) if(i&(1<<j)) pp[i]*=p[j],qq[i]*=1-p[j];
}
for(i=0;i<m;i++) for(j=1;j<=n;j++) scanf("%lf",&H[i][j]);
for(i=0;i<(1<<m);i++)
{
dp[n][i]=0;
f[n][i]=0;
for(j=0;j<m;j++) if(i&(1<<j))
{
f[n][i]+=H[j][n];
dp[n][i]+=H[j][n];
}
}
for(i=n-1;i>=1;i--)
{
for(j=0;j<(1<<m);j++)
{
a[j]=f[i+1][j]*pp[j]/qq[j];
aa[j]=dp[i+1][j]*cnt[j]*pp[j]/qq[j];
}
for(k=1;k<=m;k++) for(j=(1<<m)-1;j>=0;j--)
{
if(j&(1<<(k-1)))
{
a[j]=a[j]+a[j^(1<<(k-1))];
aa[j]=aa[j]+aa[j^(1<<(k-1))];
}
} f[i][0]=dp[i][0]=0; for(j=1;j<(1<<m);j++)
{
dp[i][j]=0;
for(k=0;k<m;k++) if(j&(1<<k)) dp[i][j]+=H[k][i];
f[i][j]=dp[i][j]+qq[j]*a[j]+qq[j]/cnt[j]*aa[j];
}
}
printf("%.10lf\n",f[1][(1<<m)-1]);
}
}
HDU 5013 City Tour的更多相关文章
- 1307: City Tour
1307: City Tour Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description Alic ...
- hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) ...
- hdu 1853 Cyclic Tour (二分匹配KM最小权值 或 最小费用最大流)
Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others)Total ...
- HDU 1853 Cyclic Tour[有向环最小权值覆盖]
Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others)Total ...
- HDU 1853 Cyclic Tour(最小费用最大流)
Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others) Tota ...
- HDU 1505 City Game (hdu1506 dp二维加强版)
F - City Game Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submi ...
- hdu 1853 Cyclic Tour 最小费用最大流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 There are N cities in our country, and M one-way ...
- HDU 3634 City Planning (离散化)
City Planning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- hdu 5013 优化疑问+dp
http://acm.hdu.edu.cn/showproblem.php?pid=5013 m个游客,n座城市(m, n <= 16), 每个人从1走到n, 每次有一定概率停在原地,然后以后就 ...
随机推荐
- Jqueryの锋利的jquery练习
$(function(){ $("div.SubCategoryBox li:gt(7):not(:last)").hide(); $("div.SubCategoryB ...
- Power Gating的设计(概述)
Leakage power随着CMOS电路工艺进程,功耗越来越大. Power Domain的开关一般通过硬件中的timer和系统层次的功耗管理软件来进行控制,需要在一下几方面做trade-off: ...
- PAT乙级 1023. 组个最小数 (20)
1023. 组个最小数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定数字0-9各若干个.你可以以 ...
- 由linux下的多进程编程引发的关于进程间隔离的思考
源代码放到了三个文件中: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...
- yii2中textarea中的默认值设置
1. view中显示文本域的位置 <?= $form->field($goods_model, 'goods_introduce')->textArea(['class'=>' ...
- Qt实现停靠功能
- 记录一下:chrome上,把网页保存为文件的插件
插件地址: https://chrome.google.com/webstore/detail/full-page-screen-capture/fdpohaocaechififmbbbbbknoal ...
- android应用的数据应该保存到哪儿
王永超王永超嫖娼 做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等. 那针对这不同的数据我们应该保存在什么地方呢? 1.应用卸载也不会删除的数据 ...
- Android 5.1 - 状态栏充电标志问题
Android 5.1 Ubuntu14.04 SourceInsigh 电量已满,插着USB头,观察Settings - Battery,电量为100%,状态为full,但仍有充电图标rust 之 ...
- Winsock系列函数 及 Socket通信流程
Socket是一种网络通信机制 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socket 3. Send 在某个Socket 向远端 ...