题解 P9963【[THUPC 2024 初赛] 前缀和】

发布时间 2023-12-21 07:54:00作者: rui_er

注意到,\(x_i\)\(k\) 的概率是 \(p(1-p)^{k-1}\),是和为 \(1\) 的等比数列,下面考察数列前缀和的性质。

不难想到,概率每次乘以 \(1-p\) 像是概率的分步乘法,每一步正是加一的操作。于是可以得到如下转化:初始时 \(S=0\),每一时刻 \(S\) 先增加一,再以 \(p\) 的概率被观测(否则不观测),如果观测到 \(S\in[l,r]\) 就将答案加一。于是答案显然为 \((r-l+1)p\)

ll n, l, r;
double p;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin >> n >> p >> l >> r;
    cout << fixed << setprecision(10) << (r - l + 1) * p << endl;
    return 0;
}