bzoj1076 [SCOI2008]奖励关
2017-06-27 19:17
281 查看
传送门
状压+概率dp
思路比较好想,但是过程中会出现不可能达到的情况,所以要倒着dp
CODE:
总结:
以后在做此类题目时一定要注意会不会出现多余情况。
状压+概率dp
思路比较好想,但是过程中会出现不可能达到的情况,所以要倒着dp
CODE:
#include<cstdio> #include<iostream> using namespace std; double f[105][32770]; int need[20],w[20]; int K,n,x; double ans; int main() { scanf("%d%d",&K,&n); for(int i=1;i<=n;i++) { scanf("%d%d",&w[i],&x); while(x) need[i]|=1<<(x-1),scanf("%d",&x); } for(int i=K;i;i--) for(int j=0;j<=1<<n;j++) { for(int k=1;k<=n;k++) if((need[k]|j)==j) f[i][j]+=max(f[i+1][j],f[i+1][j|(1<<(k-1))]+w[k]); else f[i][j]+=f[i+1][j]; f[i][j]/=1.*n; } printf("%.6lf",f[1][0]); return 0; }
总结:
以后在做此类题目时一定要注意会不会出现多余情况。
相关文章推荐
- 【BZOJ1076】【SCOI2008】奖励关(DP、期望、状压)
- [BZOJ 1076][SCOI2008]奖励关:状压DP
- BZOJ1076 [SCOI2008]奖励关
- bzoj1076: [SCOI2008]奖励关
- scoi 2008 && bzoj 1076 奖励关
- 【bzoj1076】【SCOI2008】【奖励关】期望最优值dp
- bzoj 1076: [SCOI2008] 奖励关 题解
- BZOJ.1076.[SCOI2008]奖励关(概率DP 倒推)
- bzoj1076 [SCOI2008]奖励关 状压+期望dp
- BZOJ1076: [SCOI2008]奖励关
- 【BZOJ1076】【SCOI2008】奖励关&【BZOJ4318】OSU!()期望dp&【洛谷1850】换教室
- bzoj1076 [SCOI2008]奖励关
- 【BZOJ1076】[SCOI2008]奖励关 状压DP+期望
- bzoj1076: [SCOI2008]奖励关 压状dp
- bzoj1076: [SCOI2008]奖励关
- bzoj1076: [SCOI2008]奖励关
- BZOJ 1076 [SCOI2008] 奖励关
- bzoj 1076: [SCOI2008]奖励关 (期望dp)
- 【bzoj 1076】: [SCOI2008]奖励关
- [bzoj1076][SCOI2008]奖励关 状压DP