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, 每次有一定概率停在原地,然后以后就 ...
随机推荐
- 夺命雷公狗---在js里阻止a标签的跳转和form表单的跳转
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- TP主从服务器配置
在config.php文件中,设置‘DB_DEPLOY_TYPE’=>1,‘DB_HOST’=>‘localhost,192.168.0.1,192.168.0.23’,各个主机之间用逗号 ...
- wangEditor——轻量化web富文本框
wangEditor——轻量级web富文本编辑器 参见:wangEditor.github.io 或者 https://github.com/wangfupeng1988/wangEditor 交 ...
- android listview万能适配器
参考 Android 快速开发系列 打造万能的ListView GridView 适配器 Hongyang public class CommonViewHolder { private Con ...
- NSScanner用法详解
NSScanner类用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符 ...
- Prince2的七大原则(5)
[Prince2科普]Prince2的七大原则(5) 按照惯例我们先来回顾一下,PRINCE2七大原则分别是指:持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第五个原则 ...
- 八大排序算法之三选择排序—简单选择排序(Simple Selection Sort)
基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素 ...
- VI 命令简介
1.打开一个文件 vi 文件路径 2.命令模式转换 输入模式 i 命令模式 esc 3.复制 和 粘贴 1)将光标移动到将要复制的行处,按yy进行复制当前行(按nyy复制n行),再移动到粘贴位 ...
- [团队项目] Scrum 项目 2.0 产品BACKLOG
Scrum 项目 2.0 阅读教材第8章,8.1~8.3节 P157~168,了解获取用户需求的办法,每个组可以选择一二加以应用. 8.4节P168-171 查阅NABCDA模型的具体说明. 2.SC ...
- 二叉搜索树的后序遍历路径(《剑指offer》面试题24)
题目:输入一个整数数组,判断该数组是不是二叉搜索树的后序遍历序列的结果,如果是,则返回true,如果不是则返回false.假设输入的数组的任意两个数字都互不相同. 分析:在后序遍历得到的序列中,最后一 ...