cf1009 E. Intercity Travelling
题意:
从0走到n,每一步向右走1,走第 \(i\) 步的代价为 \(a_i\)。可以任意整点休息任意次,每次休息后步数清零。求总代价的数学期望与 \(2^{n-1}\) 的乘积。
\(n\le 1e6\)
思路:
pow2[0] = 1;
for(int i = 1; i < N; i++) pow2[i] = pow2[i-1] * 2 % mod;
cin >> n;
for(int i = 1; i <= n; i++) {
ll x; cin >> x;
x *= (pow2[n-i] + (n-i) * pow2[n-i-1] % mod) % mod;
(ans += x % mod) %= mod;
}
cout << ans;