题目链接: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的更多相关文章

  1. 1307: City Tour

    1307: City Tour Time Limit: 1 Sec  Memory Limit: 128 MB [Submit][Status][Web Board] Description Alic ...

  2. hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) ...

  3. hdu 1853 Cyclic Tour (二分匹配KM最小权值 或 最小费用最大流)

    Cyclic Tour Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)Total ...

  4. HDU 1853 Cyclic Tour[有向环最小权值覆盖]

    Cyclic Tour Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)Total ...

  5. HDU 1853 Cyclic Tour(最小费用最大流)

    Cyclic Tour Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others) Tota ...

  6. HDU 1505 City Game (hdu1506 dp二维加强版)

    F - City Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  7. hdu 1853 Cyclic Tour 最小费用最大流

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 There are N cities in our country, and M one-way ...

  8. HDU 3634 City Planning (离散化)

    City Planning Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  9. hdu 5013 优化疑问+dp

    http://acm.hdu.edu.cn/showproblem.php?pid=5013 m个游客,n座城市(m, n <= 16), 每个人从1走到n, 每次有一定概率停在原地,然后以后就 ...

随机推荐

  1. SQL Server 数据查询 整理

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

  2. 通过HP Loadrunner VuGen来录制安卓的应用

    作者:Richard Pal       来自:perftesting           翻译:Elaine00 通过这篇文章,我将介绍如何通过HP Loadrunner VuGen来测试一个安卓应 ...

  3. DirectX 绘制

    先上图.后面会描写 ,细节

  4. 给文件加ip访问限制

    获取IP: function getIP(){ return isset($_SERVER['HTTP_X_FORWARDED_FOR'])? $_SERVER['HTTP_X_FORWARDED_F ...

  5. 颜色表及html代码

    颜色名称及色样表(HTML版)   颜色名 中文名称 Hex RGB 十进制 Decimal     LightPink 浅粉红 #FFB6C1 255,182,193     Pink 粉红 #FF ...

  6. jmeter使用笔记

    接口测试 http协议 接口分成两类,一类是查询功能的接口,一类是保存数据功能的接口. 保存逻辑:数据传入进来,验证通过.保存到数据表中 使用jmeter接口测试的步骤 1.首先添加线程组. 2.配置 ...

  7. 测试过程中LR的关联报错

    在测试过程中,录制的脚本会做一些关联.在测试的过程中,常常出现关联失败的情况. 如果最后的结果有检查点,检查点失败而事务失败. 每次出现这样的情况,我都不知道如何办.为了不出现错误,我都在关联函数里面 ...

  8. jQuery 文档操作方法(w3school)

    这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). 方法 描述 addClass() 向匹配的元素添加指定的类名. after() 在匹配的元素之后插入内容. append( ...

  9. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.3.创建控件

    像jQuery提供 fn.extend() 方法从而可以简单地创建插件一样,jQuery UI也提供了机制使得创造插件变得简单,也确保了公共API功能在新的插件中被保留. 1.首先,创建一个名为  j ...

  10. editPlus,3.7V 注册码

    editPlus,3.7V 注册码: username:linzhihui password:5A2B6-69740-D9CDE-79702-C9CCD