(概率dp)牛客練習賽39 C

2021-09-10 16:34:09 字數 796 閱讀 3697

現在一共有n天,第i天如果有流星雨的話,會有wi顆流星雨。

第i天有流星雨的概率是pi。如果第一天有流星雨了,那麼第二天有流星雨的可能性是p2+p,否則是p2。相應的,如果第i−1(i≥2)天有流星雨,第i天有流星雨的可能是pi+p,否則是pi。求n天後,流星雨顆數的期望。

因為當天的概率只與前一天的概率有關,所以f[i]=f[i-1]*(p[i]+p)+p[i]*(1-f[i-1]).(f[i]為發生流星雨的概率)。注意按題意處理逆元,a/b->a*inv(b)%mod

#include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 1e5 + 3;

ll a, b, w[maxn], p[maxn], f[maxn];

const int mod = 1e9 + 7;

ll qpow(ll a, ll b)

return res;

}int main()

f[1] = p[1];

for(int i = 2; i <= n; i++)

ll ans = 0;

for(int i = 1; i <= n; i++)

ans = (ans + f[i] * w[i] % mod) % mod;

cout << ans << endl;

}

牛客練習賽39 C 概率dp

現在一共有n天,第i天如果有流星雨的話,會有wi 第i天有流星雨的概率是pi 如果第一天有流星雨了,那麼第二天有流星雨的可能性是p2 p 第i 1 i 2 天有流星雨,第i天有流星雨的可能性是pi p,否則是pi。求n天後,流星雨顆數的期望。設ti 為第i天下雨的真正概率,由於第i天的概率只與第i ...

牛客練習賽39 C 流星雨

description 現在一共有n天,第i天如果有流星雨的話,會有 第i天有流星雨的概率是 如果第一天有流星雨了,那麼第二天有流星雨的可能性是 求n天後,流星雨顆數的期望。input n,a,b 其中 p a b wi for i 1.n ai bi for i 1.n 其中 pi ai bi o...

牛客練習賽39

b 進行根 右 左的樹遍歷。然後求最長上公升子串行長度。include include include include include include includeusing namespace std define ll long long const int maxn 2e5 22 int t...