scoi 2008 && bzoj 1076 奖励关
来源:互联网 发布:淘宝上一元秒杀骗局 编辑:程序博客网 时间:2024/06/06 00:16
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3223
思路:15?好,状压,OK.
这是转移方程
if((s[k]&j)==s[k])
f[i][j]+=max(f[i+1][j],f[i+1][j|1<<(k-1)]+a[k]);
else f[i][j]+=f[i+1][j];
代码
#include <cstdio>#include <cmath>#include <iostream>#include <cstring>#include <algorithm>#define ll long long#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;int k,n,a[105],s[105];double f[70000][20];int main(){ scanf("%d%d",&k,&n); for (int i=1;i<=n;i++) { scanf("%d",&a[i]); int x=0; while (~scanf("%d",&x)) { if (x==0) break; s[i]|=1<<(x-1); } } for (int i=k;i>=1;i--) { for (int j=0;j<1<<(n);j++) { f[i][j]=0.0; for(int k=1;k<=n;k++) if((s[k]&j)==s[k]) f[i][j]+=max(f[i+1][j],f[i+1][j|1<<(k-1)]+a[k]); else f[i][j]+=f[i+1][j]; f[i][j]/=(double)n; } } printf("%lf",f[1][0]);}
0 0
- scoi 2008 && bzoj 1076 奖励关
- BZOJ 1076 [SCOI 2008] 奖励关 (概率与期望)
- SCOI 2008 奖励关
- [BZOJ 1076]奖励关
- 【bzoj 1076】: [SCOI2008]奖励关
- bzoj-1076[SCOI2008]奖励关
- BZOJ 1076 [SCOI2008]奖励关
- BZOJ 1076:[SCOI2008]奖励关
- BZOJ 1076 [SCOI2008] 奖励关
- 【BZOJ 1076】[SCOI2008]奖励关
- BZOJ 1076 [SCOI2008]奖励关
- [bzoj 1076--SCOI2008]奖励关
- bzoj 1076: [SCOI2008] 奖励关 题解
- 【BZOJ 1076】 [SCOI2008]奖励关 期望dp
- [BZOJ 1076][SCOI2008]奖励关:状压DP
- bzoj 1076 奖励关 状压+期望dp
- BZOJ 1076([SCOI2008]奖励关-期望dp-从后向前)
- BZOJ 1076 SCOI2008 奖励关 期望状压DP
- 1622-5 孔富晨 总结《2016年10月3日》【连续3天总结】
- 【C++研发面试笔记】17. 基本数据结构-图结构
- [一点一点入门机器学习] k近邻算法
- windows下使用深度学习 (NeuralStyle)模仿大师(梵高等)绘画
- SQLite数据库的使用以及内容显示
- scoi 2008 && bzoj 1076 奖励关
- 再见百田,你好三七
- 中央处理机
- 字符
- mysqli的多条sql语句操作以及简单的事务处理~~~~~
- 1114. Family Property (25) 并查集
- java入门之输入数据
- 2.6.2
- alias提高工作效率 bash快捷键