D题 Talk 题解

/*
令f[i]表示第一次准备讲第i件事时的期望时间
则     f[i] = p[i-1]*(f[i-1]+1) + (1-p[i-1])*(f[i-1]+1 + f[i]-f[i-2])
           讲完i-1后 直接准备讲i   讲完i-1后 回到讲i-2 然后直到准备讲i   
                    
                    f[i-1]+1 为讲完事件i-1时的期望时间     
                    f[i]-f[i-2] 为回到i-2后 然后直到准备讲i 中间需要的时间         
                                                  
化简得    f[i] = (f[i-1]+1+(p[i-1]-1)*f[i-2]) / p[i-1];
初始状态  f[0] = f[1] = 0
目标      f[n+1]
*/
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
double f[N],p[N];
int main(){
    int n;
    scanf("%d",&n);
    for(int i = 1; i <= n; i++) scanf("%lf",&p[i]);
    f[0] = f[1] = 0.0;
    for(int i = 2; i <= n+1; i++){
        f[i] = (f[i-1]+1+(p[i-1]-1)*f[i-2]) / p[i-1];
    }
    printf("%.3lf",f[n+1]);
    return 0;
} 

全部评论
比官方题解详细
点赞 回复 分享
发布于 2020-03-25 12:59
666
点赞 回复 分享
发布于 2020-03-25 12:59
点赞 回复 分享
发布于 2020-03-23 15:32

相关推荐

02-04 17:01
南昌大学 Java
牛客96763241...:拿插件直接投就完了,这玩意看运气的
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
8136次浏览 75人参与
# 你的实习产出是真实的还是包装的? #
1493次浏览 37人参与
# 巨人网络春招 #
11265次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7266次浏览 40人参与
# 简历第一个项目做什么 #
31433次浏览 319人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186697次浏览 1118人参与
# 米连集团26产品管培生项目 #
5333次浏览 213人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152171次浏览 887人参与
# 研究所笔面经互助 #
118827次浏览 577人参与
# 重来一次,我还会选择这个专业吗 #
433206次浏览 3924人参与
# 简历中的项目经历要怎么写? #
309816次浏览 4176人参与
# 面试紧张时你会有什么表现? #
30452次浏览 188人参与
# 你今年的平均薪资是多少? #
212883次浏览 1039人参与
# AI时代,哪些岗位最容易被淘汰 #
63109次浏览 773人参与
# 我的求职精神状态 #
447904次浏览 3128人参与
# 你最满意的offer薪资是哪家公司? #
76323次浏览 374人参与
# 正在春招的你,也参与了去年秋招吗? #
362991次浏览 2635人参与
# 你怎么看待AI面试 #
179654次浏览 1206人参与
# 牛客AI文生图 #
21374次浏览 237人参与
# 职能管理面试记录 #
10766次浏览 59人参与
# 网易游戏笔试 #
6420次浏览 83人参与
# 腾讯音乐求职进展汇总 #
160518次浏览 1108人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务