[SCOI 2008] 奖励关
[题目链接]
https://www.lydsy.com/JudgeOnline/problem.php?id=1076
[算法]
f[i][S]表示当前第i次抛出宝物,目前集合为S,所能获得的最高分值
dp即可
[代码]
#include<bits/stdc++.h>
using namespace std;
#define MAXN 110
const int MAXS = << ; int i,j,k,n,x,s;
int S[MAXN],c[MAXN];
double f[MAXN][MAXS]; inline double dp(int now,int s)
{
int i;
if (f[now][s] != -) return f[now][s];
if (now == k)
{
f[now][s] = ;
for (i = ; i < n; i++)
{
if ((S[i] & s) == S[i] && c[i] > )
f[now][s] += c[i];
}
f[now][s] /= n;
} else
{
f[now][s] = ;
for (i = ; i < n; i++)
{
if ((S[i] & s) == S[i])
f[now][s] += max(dp(now + ,s),dp(now + ,s | ( << i)) + c[i]);
else f[now][s] += dp(now + ,s);
}
f[now][s] /= n;
}
return f[now][s];
} int main()
{ scanf("%d%d",&k,&n);
for (i = ; i < n; i++)
{
scanf("%d",&c[i]);
s = ;
while (scanf("%d",&x) && x) s |= ( << (x - ));
S[i] = s;
}
for (i = ; i <= k; i++)
{
for (j = ; j < MAXS; j++)
{
f[i][j] = -;
}
}
printf("%.6lf\n",dp(,)); return ;
}
[SCOI 2008] 奖励关的更多相关文章
- 【SCOI 2008】奖励关
Problem Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关. 在这个奖励关里,系统将依次随机抛出 \(k\) 次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之 ...
- SCOI 2008 【奖励关】
早上的考试一道都做不出,被教做人,心态爆炸ing...... 题目描述: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必 ...
- Bzoj1076 [SCOI2008]奖励关
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1935 Solved: 1053 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一 ...
- 【bzoj1076】[SCOI2008]奖励关
题目描述 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再 ...
- 【BZOJ1076】[SCOI2008]奖励关 状压DP+期望
[BZOJ1076][SCOI2008]奖励关 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须 ...
- 【BZOJ-1076】奖励关 概率与期望 + 状态压缩DP
1076: [SCOI2008]奖励关 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1602 Solved: 891[Submit][Status ...
- 【BZOJ】1076: [SCOI2008]奖励关(状压dp+数学期望)
http://www.lydsy.com/JudgeOnline/problem.php?id=1076 有时候人蠢还真是蠢.一开始我看不懂期望啊..白书上其实讲得很详细的,什么全概率,全期望(这个压 ...
- 【BZOJ】【1076】【SCOI2008】奖励关
状压DP+数学期望 蒟蒻不会啊……看题跑…… Orz了一下Hzwer,发现自己现在真是太水了,难道不看题解就一道题也不会捉了吗? 题目数据范围不大……100*(2^16)很容易就跑过去了…… DP的时 ...
- 1076: [SCOI2008]奖励关( dp )
期望状压dp.... ------------------------------------------------------------------ #include<cstdio> ...
随机推荐
- C-数据和C
1.常量与变量数据 有些数据在程序使用之前预先设定,并在整个运行过程中没有变化,叫做常量.另外的数据在程序运行过程中可能变化或被赋值,叫做变量. 2.数据类型关键字 对于变量,编译器通过声明语句中指定 ...
- 第7章 性能和可靠性模式 Server Clustering(服务器群集)
上下文 您正在设计要部署应用程序的基础结构层.运行要求包括无法满足的可用性或性能能力,因为基础结构中存在性能瓶颈或故障单点. 影响因素 设计基础结构时,请考虑下列影响因素: 用户希望在使用应用程序时这 ...
- python课程设计笔记(五) ----Resuests+BeautifulSoup (爬虫入门)
官方参考文档(中文版): requests:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html beautifulsou ...
- 我的C++笔记(函数部分)
#include <iostream> #include <cmath>//C++的数学函数库 using namespace std; class Point{ public ...
- lambda表达式、匿名函数
lambda表达式是函数式编程中的匿名函数语法规范. In computer programming, an anonymous function (function literal, lambda ...
- layui 时间控件 单击 年直接赋值
在 //选中 lay(ul).find('li').on('click', function(){ //结尾处添加 if (options.done === "year") { ...
- Django使用中常见的错误
Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED Django 执行makemigrations 的时候报错 ...
- js中时间戳与日期时间之间的相互转换
1.时间戳转换为标准日期时间格式: function timeFormat(dateStr) { var date = new Date(dateStr); Y = date.getFullYear( ...
- 【BZOJ2806】【CTSC2012】Cheat - 广义后缀自动机+单调队列优化DP
题意: Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数 接下来M行的01串,表示标准作文库 接下来N行的01串,表示N篇作文 Output N行 ...
- 【JavaScript框架封装】实现一个类似于JQuery的选择框架的封装
// 选择框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({}); // 不需要参与链式访问的 ...