出题人题解 | #烟花#

烟花

https://ac.nowcoder.com/acm/problem/18200

原题解链接:https://ac.nowcoder.com/discuss/149980

第一问

由于每个烟花互不相同,因此每种颜色的个数都是1

根据期望的定义: ans =pi1=pi=\sum p_{i} * 1=\sum p_{i}

第二问

f[i][j]f[i][j]表示前i个烟花,恰好有jj个被点燃的概率

转移的时候枚举当前烟花是否被点燃

滚动数组优化

#include <iostream>
using namespace std;
const int maxn = 1e5+10, maxk = 105;
double dp[maxn][maxk], num[maxn];

int main() {
    int n, k;
    double c, ans1, ans2;
    cin >> n >> k;
    for(int i = 1; i <= n; i++) {
        scanf("%lf",&num[i]);
        c *= (1-num[i]);
        ans1 += num[i];
    }
    dp[0][1] = 0;
    dp[1][0] = 1 - num[1];
    dp[0][0] = 1;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= k; j++) {
            dp[i][j] = dp[i-1][j-1]*num[i] + dp[i-1][j]*(1-num[i]);
        }
    }
    ans2 = dp[n][k];
    printf("%.5lf\n%.5lf\n",ans1+0.00001,ans2+0.00001);
    
    return 0;
}
全部评论

相关推荐

zhch7:建议9✌️把学历加黑加粗,如果实在offer可能是觉得佬不会去
投了多少份简历才上岸
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务