思路
简单的状压dp。令dp[i]状态中1为已死亡的鱼,0为存活的鱼,dp表示转移到这个状态的概率。dp转移方程为:1
2dp[state|(1<<i)]+=topro*dp[state]*pro[j][i];
dp[state|(1<<j)]+=topro*dp[state]*pro[i][j];
这个转移方程的灵感来自于全概率公式,topro表示选中这一对鱼的概率,pro表示i吃j的概率,由全概率公式可知我们把所有可能的转移概率加起来就是最终答案。
代码
1 |
|
真彩希帆のファン
简单的状压dp。令dp[i]状态中1为已死亡的鱼,0为存活的鱼,dp表示转移到这个状态的概率。dp转移方程为:1
2dp[state|(1<<i)]+=topro*dp[state]*pro[j][i];
dp[state|(1<<j)]+=topro*dp[state]*pro[i][j];
这个转移方程的灵感来自于全概率公式,topro表示选中这一对鱼的概率,pro表示i吃j的概率,由全概率公式可知我们把所有可能的转移概率加起来就是最终答案。
1 | #include <bits/stdc++.h> |