BZOJ 1076 奖励关
注意几点:
1.为什么要逆推?由此状态可以轻易算出彼状态是否可行,而彼状态却无法轻易还原为此状态。
2.为什么可以逆推?假设时光倒流了。。。。23333
3.注意位运算的准确,大胆写方程。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int k,n,p[],x,limit[];
double dp[][(<<)-];
int main()
{
scanf("%d%d",&k,&n);
for (int i=;i<=n;i++)
{
scanf("%d",&p[i]);
for (;;)
{
scanf("%d",&x);
if (!x) break;
limit[i]|=(<<(x-));
}
}
for (int i=k;i>=;i--)
{
for (int s=;s<=(<<n)-;s++)
{
dp[i][s]=;
for (int k=;k<=n;k++)
{
if ((s&limit[k])==limit[k])
dp[i][s]+=max(dp[i+][s],dp[i+][s|(<<(k-))]+p[k]);
else dp[i][s]+=dp[i+][s];
}
dp[i][s]/=n;
}
}
printf("%.6lf\n",dp[][]);
return ;
}
BZOJ 1076 奖励关的更多相关文章
- BZOJ 1076 奖励关 状态压缩DP
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1076 题目大意: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里, ...
- [BZOJ]1076 奖励关(SCOI2008)
终于又一次迎来了一道期望DP题,按照约定,小C把它贴了出来. Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃 ...
- scoi 2008 && bzoj 1076 奖励关
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3223 思路:15?好,状压,OK. 这是转移方程 if((s[k]&j)==s[k] ...
- bzoj 1076 奖励关 状压+期望dp
因为每次选择都是有后效性的,直接dp肯定不行,所以需要逆推. f[i][j]表示从第i次开始,初始状态为j的期望收益 #include<cstdio> #include<cstrin ...
- BZOJ 1076 奖励关(状压期望DP)
当前得分期望=(上一轮得分期望+这一轮得分)/m dp[i,j]:第i轮拿的物品方案为j的最优得分期望 如果我们正着去做,会出现从不合法状态(比如前i个根本无法达到j这种方案),所以从后向前推 如果当 ...
- 【BZOJ】【1076】【SCOI2008】奖励关
状压DP+数学期望 蒟蒻不会啊……看题跑…… Orz了一下Hzwer,发现自己现在真是太水了,难道不看题解就一道题也不会捉了吗? 题目数据范围不大……100*(2^16)很容易就跑过去了…… DP的时 ...
- 【BZOJ】1076: [SCOI2008]奖励关(状压dp+数学期望)
http://www.lydsy.com/JudgeOnline/problem.php?id=1076 有时候人蠢还真是蠢.一开始我看不懂期望啊..白书上其实讲得很详细的,什么全概率,全期望(这个压 ...
- 【bzoj 1076】【SCOI2008】奖励关
1076: [SCOI2008]奖励关 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1602 Solved: 891[Submit][Status ...
- bzoj 1076: [SCOI2008]奖励关
Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝 ...
随机推荐
- codeforces 455B A Lot of Games(博弈,字典树)
题目 参考自博客:http://blog.csdn.net/keshuai19940722/article/details/38455269 //字典树,博弈 根据当前节点的后续来确定当前节点的状态, ...
- poj 2749
Building roads Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6091 Accepted: 2046 De ...
- 单元最短路径算法模板汇总(Dijkstra, BF,SPFA),附链式前向星模板
一:dijkstra算法时间复杂度,用优先级队列优化的话,O((M+N)logN)求单源最短路径,要求所有边的权值非负.若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的 ...
- 转:jxl导出excel(合并单元格)
Demo 代码如下: import java.io.*; import jxl.*; import jxl.format.UnderlineStyle; import jxl.write.*; pub ...
- SQL 比较乱
--DROP TABLE T_UserInfo---------------------------------------------------- --建测试表 CREATE TABLE T_Us ...
- 在运行jar时自动加载指定的jar包
初学Java的人经常遇到的一个问题是:如果一个程序依赖某个文件夹下的一堆jar包,那么启动它的时候就需要在java -cp参数后面一个一个的加上jar包的名称,很不方便. 比如主程序类叫Main,在目 ...
- 请问view controller scene,该如何删除
当要删除默认的view controller scene的时候,选中,按del键 注意点击中间的那个左侧按钮,打开scene列表,再选中scene,按del即可删除
- win32空项目创建窗体
#include "stdafx.h" //窗口过程函数(系统自动调用,即回调函数)LRESULT WINAPI MsgProc(HWND hWnd,UINT msg,WPARAM ...
- 如何使用SPY++查找
自动化测试中,如果需要做UI automation的时候往往需要抓取object的工具.实际上这种工具有很多,认识的大牛使用SPY++,于是我也选择了这个.下面列出基本使用方法.有点像XACC spy ...
- eclipse导入的工程前面有感叹号是什么意思
1.尤其是从其他地方拷贝来并且直接加载的工程,刚打开往往会看到工程的图标上有个红色的感叹号,这是因为build path 出错了,里面有缺失或者无法找到的包. 2. 原因:显示红色感叹号是因为jar包 ...