#3964. 🎲 牛局长的硬币实验-中
🎲 牛局长的硬币实验-中
🎲 牛局长的硬币实验
(兔猫信奥学院 · 牛局长 × 闪电 × 豹警官 × 朱迪 × 尼克)
故事背景
哨兵城安全局来学院进行概率学交流。牛局长 摆出一排形状各异的硬币,每枚硬币 $i$ 以概率 $prob_i$ 朝上。
“每枚硬币只抛一次。请你们告诉我:正面朝上的硬币数恰好等于
target
时的总体概率。”
闪电慢条斯理地记录数据;豹警官把硬币排成一列;朱迪和尼克则等着你的答案。
题目描述
给定实数数组 prob
($1\le |prob|\le1000$,$0\le prob_i\le1$)和整数 target
($0\le target\le|prob|$)。
一次性抛出全部硬币,求正面朝上硬币数等于 target
的概率,答案允许 $10^{-5}$ 误差。
输入格式
n // 硬币数量
p1 p2 … pn // n 个概率,空格分隔
target // 目标正面个数
输出格式
ans
ans
—— 所求概率(双精度打印,误差 ≤ 1e‑5 即视为正确)
样例
1
0.4
1
0.4
5
0.5 0.5 0.5 0.5 0.5
0
0.03125
提示
- 使用一维滚动动态规划,时间复杂度 $O(n\cdot target)$、空间 $O(target)$。
- 令
dp[j]
为当前已处理硬币中正面数 =j
的概率。