题意:
从 1 → n 1 \to n 1→n,在位置 i i i有 p [ i ] p[i] p[i]的概率到 i + 1 i+1 i+1,有 1 − p [ i ] 1-p[i] 1−p[i]的概率回到1,问到 n n n的期望是多少。
#include <bits/stdc++.h>
using namespace std;
const int MOD = 119 << 23 | 1;
int inv(int a) {
int r = 1, t = a, k = MOD - 2;
while (k) {
if (k & 1) r = (long long) r * t % MOD;
t = (long long) t * t % MOD;
k >>= 1;
}
return r;
}
int main() {
int n; cin >> n;
vector<int> p(n);
for (int i = 0; i < n; i++) cin >> p[i], p[i] = (long long) p[i] * inv(100) % MOD;
int a = 1, b = 1;
int sum = 0;
for (int i = 0; i < n; i++) {
if (i != 0) {
a = ((long long) a * p[i-1]) % MOD;
}
b = ((long long) b * p[i]) % MOD;
sum = (sum + a) % MOD;
}
cout << (long long)sum * inv(b) % MOD << endl;
return 0;
}