好吧,有答案了,确实DP。。。服气。我自己是完全没想到用DP优化。。 概率dp,定义状态前i个题目对j个的概率,递推求解 示例代码: #include <bits/stdc++.h> #define maxn 109 using namespace std; int n,a[maxn]; double dp[maxn][maxn]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dp[0][0]=1; for(int i=1;i<=n;i++){ dp[i][0]=dp[i-1][0]*(100.0-a[i])/100; for(int j=1;j<=i;j++) dp[i][j]=dp[i-1][j]*(100.0-a[i])/100+dp[i-1][j-1]*1.0*a[i]/100; } int low=(3*n+4)/5; double ans=0; for(int i=low;i<=n;i++) ans+=dp[n][i]; printf("%.5f\n",ans); //system("pause"); return 0; }
点赞 评论

相关推荐

点赞 评论 收藏
分享
吴offer选手:下午mt一来就告警说项目来不及,估计明天拿了权限就要参与开发了 已老实
实习生的蛐蛐区
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务