设当前已知条件$X_i=C_i$为事件$A_i$
答案为$\sum\limits_{i=1}^{n}P(X_i=1|A_1,...,A_k)$
设$A_t<X_i<=A_t+1$
$P(X_i=1|A_1,...,A_k)$
$=\frac{P(X_i=1,A_1,...,A_k)}{P(A_1,...,A_k)}$
$P(A_1,...,A_k)=P(A_1,...,A_{k-1})*P(A_k|A_1,...,A_{k-1})$
因为$A_k$事件只需要$A_{k-1}$
所以$P(A_k|A_1,...,A_k)=P(A_k|A_{k-1})$
所以i的贡献为$\frac{P(X_i=1|A_t)*P(A_{t+1}|X_i=1)}{P(A_{t+1}|A_t)}$
每段区间贡献为$\frac{\sum\limits_{i=A_t+1}^{A_{t+1}}P(X_i=1|A_t)*P(A_{t+1}|X_i=1)}{P(A_{t+1}|A_t)}$
线段树分别维护分子和分母
每次操作相当于添加区间或者删除区间
时间: 2024-11-03 09:11:30