
----概率dp
欣君
追寻那如樱花般的绚烂
展开
-
51nod 1670 打怪兽
设dp[i]表示能打败第i-1个怪兽的概率。dp[i+1]=dp[i]*(sum[i]-i)/(n-i)sum[i] 代表能量值不高于i的怪兽数量。递推出所有的 dp[i] 后,对每种情况进行求解。若最多能打败x个怪兽,其概率为 dp[x]-dp[x+1] 。#includeusing namespace std;const long long mod=1e9+7;原创 2016-11-07 00:39:11 · 341 阅读 · 0 评论 -
51nod 1705 七星剑
期望DP转移,正着来。#includeusing namespace std;const int MAXN=110;const double eps=1e-8;const double INF=1e100;double prob[10][MAXN],suc[10],c[MAXN],dp[10][MAXN];int lose[10][MAXN];int main(){ in原创 2017-07-11 10:08:41 · 359 阅读 · 0 评论 -
51nod 1836 战忽局的手段
设 f(m) 表示m次演讲后忽悠的期望,那么很容易得出:f(m)=f(m-1)+1*(n-f(m))/n整理得到f(m)-n=(n-1)/n*(f(m-1)-n)公式有了,然后就是卡精度问题。。。。__float128 有这么一个神奇的东西。。。。#includeusing namespace std;__float128 powf(__float128 x,long原创 2016-12-06 16:16:04 · 518 阅读 · 7 评论