题目链接: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. 夺命雷公狗---Thinkphp----10之后台登录.注销一条龙

    首先我们还是还是写一个控制器名字叫LoginController.class.php的控制器,首先来写一个code的方法来让验证码先显示出来: public function Code(){ //创建 ...

  2. 《OpenGL着色语言》理解点记录二

    别人提到“OpenGL的处理管线”时,意味着什么? 准确的讲,应该是“OpenGL图形处理管线”,“管线”带有特定的顺序,在OpenGL中就是Graphics Processing Pipeline. ...

  3. Inside TSQL Querying - Chapter 1. Logical Query Processing

    Logical Query Processing Phases Summary (8) SELECT (9) DISTINCT (11) <TOP_specification> <s ...

  4. C语言初学者代码中的常见错误与瑕疵(15)

    见:http://www.cpfn.org/bbs/viewtopic.php?f=85&t=5946&sid=0252f08a6d697fbf5a684ec5f6faf1f2 相关链 ...

  5. Ubuntu 13.10 64位 无法 安装 ia32-libs 解决办法

    安装新立德软件包管理器:打开终端,输入以下命令:sudo apt-get install synaptic 打开新立德软件包管理器,选择“设置>软件库” 选择“其他软件 > 添加” 在AP ...

  6. SQL学习记录

    一些最重要的 SQL 命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREA ...

  7. Linux异步IO【转】

    转自:http://blog.chinaunix.net/uid-24567872-id-87676.html Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出 ...

  8. MySQL与SQL比较有那些区别呢

    MySQL是一个逐渐完善的过程,使用前期版本时会遇到一些问题,通常搞得莫名其妙,在版本选择上尽量选择最新的. 1.在5.03以前版本中,存储varchar型数据时,后面的空格会被忽视掉,前面的空格会保 ...

  9. CentOS下使用Percona XtraBackup对MySQL5.6数据库innodb和myisam的方法

    Mysql卸载从下往上顺序 [root@localhost /]# rpm -e --nodeps qt-mysql-4.6.2-26.el6_4.x86_64[root@localhost /]# ...

  10. 阿里云ECS主机多个网站配置,是有先后顺序的

    注意:阿里云ECS主机多个网站配置,是有先后顺序的: 进入路径:/alidata/server/httpd-2.4.2/conf/vhosts/  注意这个2.4.2是自己的版本不一样,但是找到 se ...