1 条题解
-
0
期望DP
所谓期望DP,就是计算某一个事件的期望
废话。区别于概率DP(还不会的出门左转),期望DP是从结尾状态往前计算。
以这题举例,具体的做法如下:
1.怪物剩点血时只需要次攻击就可以击败废话x2
2.怪物剩点血时可能下一次攻击点血亮,或者点。那么期望值就是具体实现间代码。
AC CODE
#include<bits/stdc++.h> #define int long long using namespace std; const int N=2e5+10,P=998244353; int qpow(int a,int b) { int res=1; for(;b;b>>=1,a=a*a%P)if(b&1)res=res*a%P; return res; } int f[N],n,p; signed main() { scanf("%lld%lld",&n,&p); f[0]=0; int _100=qpow(100,P-2); for(int i=1;i<=n;i++) { f[i]=((f[i-2]*p%P+f[i-1]*(100-p)%P)%P*_100%P+1)%P; } printf("%lld\n",f[n]); return 0; }还不会?等着讲课吧~~~
- 1
信息
- ID
- 712
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者