概率DP [SCOI2008]奖励关

bzoj1076【SCOI2008】奖励关 状压DP+概率DP,思路好 阅读详情
     

问题 I: [SCOI2008]奖励关

时间限制: 1 Sec  内存限制: 128 MB

题目描述

你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,
每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。
 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都抛出宝物1(
这种情况是有可能出现的,尽管概率非常小),第k次抛出各个宝物的概率依然均为1/n。 获取第i种宝物将得到Pi
分,但并不是每种宝物都是可以随意获取的。第i种宝物有一个前提宝物集合Si。只有当Si中所有宝物都至少吃过
一次,才能吃第i种宝物(如果系统抛出了一个目前不能吃的宝物,相当于白白的损失了一次机会)。注意,Pi可
以是负数,但如果它是很多高分宝物的前提,损失短期利益而吃掉这个负分宝物将获得更大的长期利益。 假设你
采取最优策略,平均情况你一共能在奖励关得到多少分值?

输入

第一行为两个正整数k和n,即宝物的数量和种类。以下n行分别描述一种宝物,其中第一个整数代表分值,随
后的整数依次代表该宝物的各个前提宝物(各宝物编号为1到n),以0结尾。

输出

输出一个实数,保留六位小数,即在最优策略下平均情况的得分。

样例输入

1 2
1 0
2 0

样例输出

1.500000

提示

   这明显是状压,但正向找某些状态并不能符合,所以考虑倒退,从最后开始推,推回起点。。
    新思路,get
    
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std; 
int n,k,a[20],x;
double f[105][(1<<15)+1],v[20];
int main()
{
    scanf("%d%d",&k,&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lf",&v[i]);
        while(scanf("%d",&x)==1)
        {
            if(x==0)break;
            a[i]|=1<<(x-1);
        }
    }
    for(int i=1;i<=k;i++)
       for(int j=0;j<(1<<n);j++)
       {
          for(int h=1;h<=n;h++)
             if((a[h]&j)==a[h])
                 f[i][j]+=max(f[i-1][j],f[i-1][j|(1<<(h-1))]+v[h]);
             else
                 f[i][j]+=f[i-1][j];
          f[i][j]/=(double)n;
        }
    printf("%.6lf",f[k][0]);
}

MMORPG网络游戏开发之任务系统的架构与设计 在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块:对于单机游戏而言,这6个模块都放在客户端直接处理,对于网路游戏而言,模块1~5实现在服务端,模块6实现在客户端。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。... 阅读详情

相关推荐

Sharding-JDBC 系列专题 - 第九篇:高可用性与集群管理

高可用性是指系统在面对故障(如数据库宕机、网络中断)时,能够快速恢复并继续提供服务。Sharding-JDBC 和 Sharding-Proxy 提供了多种机制支持高可用性,同时需要结合底层数据库的高可用方案(如 MySQL 主从复制、MHA)来实现。高可用性和集群管理是 Sharding-JDBC 和 Sharding-Proxy 在生产环境中成功应用的关键。本篇详细介绍了数据库高可用方案、Sharding-JDBC 的故障切换机制、Sharding-Proxy 的集群部署,以及分布式治理功能。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 1393

【bzoj 1076】[SCOI2008]奖励关(状压dp+概率)

古池冷落一片寂,忽闻蛙跳声

reverie_mjp的博客 361

ERA5获取的风场数据转换为.dfs2文件

ERA5获取风场数据的具体步骤可以参考下面的文章下载好后应该是.nc格式的文件,想要读取或者转换成其他格式的文件可以安装下面步骤,本文介绍如何转换为.dfs2文件。

我的博客 1459

BZOJ1076[SCOI2008]奖励关【概率DP+状态压缩】

[SCOI2008]奖励关[SCOI2008]奖励关[SCOI2008]奖励关 Description: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都...

qq_43710979的博客 200

Visio 2013 Professional密钥安装激活全攻略:版本匹配与故障排查

产品密钥是软件授权体系中的核心凭证,用于验证用户对软件的使用权限。在微软Office产品线中,Visio 2013 Professional采用25位字符的密钥机制,通过联网或电话方式完成激活。正确使用密钥不仅能确保软件功能完整,还能避免因授权问题导致的工作中断。对于企业IT运维和个人用户而言,掌握密钥类型辨析、安装包匹配规则以及激活失败排查方法,是保障老版本软件稳定运行的关键。本文围绕Visio 2013 Professional,详细讲解密钥输入、激活流程及常见错误代码处理,帮助读者高效完成部署与维护。

weixin_28487433的博客 330

从0死磕全栈之使用 VS Code 调试 Next.js 应用完整指南

调试目标推荐方式客户端组件VS Code + Chrome 调试器(pwa-chrome中间件(Middleware)同服务端方式静态生成(SSG)逻辑需在next build时调试,建议改用dynamic路由临时测试通过合理配置 VS Code 调试器,你可以像调试普通 Node.js 或前端项目一样,高效排查 Next.js 应用中的各类问题。🐞。

weixin_44058951的博客 1159

奖励关(概率dp+状压)

枚举每个物品z,当前物品可取时,f[i][j]+=max(f[i+1][j|(1<<(z-1))]+w[z],f[i+1][j])/n;设f[i][j]为已进行了i-1次选择,状态为j,采用最优策略的期望值。不可取时 f[i][j]+=f[i+1][j]/n;概率dp题,因为最多只有15个物品,考虑状压。进行第i次选择时,每个物品等概率出现。最后答案为f[1][0];

yusen_123的博客 359

【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第一节 lua框架的建立

魔兽世界插件实战笔记从入门到放弃的心理历程 第二节 lua框架的建立 找到魔兽世界的安装目录,找到插件的默认位置:\World of Warcraft\_retail_\Interface\AddOns,在这里建立一个文件夹,魔兽的插件都是用一个文件夹来区分的,第一课吗,就用Lesson_one吧。 下面建立的三个文件,第一个点toc文件是最重要的一个,它是魔兽客户端识别插件的一个标识符。 魔兽版本号有一个函数可以查询在WoWLua下面运行:print("当前游戏版本号:",(select(4,GetBui

qq_33075391的博客 6450

[BZOJ1076][SCOI2008]奖励关(概率DP)

Code #include <cstdio> #include <algorithm> #include <cstring> #define N 110 #define db double using namespace std; int n,m,nd[N],v[N]; db f[N][1<<16]; inline i...

weixin_34221036的博客 82

R语言计算植物群落重要值:从基础概念到优势种判定

在植被生态学研究中,重要值是衡量物种在群落中地位的核心指标,它综合了相对多度、相对频度与相对显著度三个维度,能够客观反映物种的数量优势、分布广度与空间占据能力。理解重要值的生态学逻辑,是开展群落分类、优势种判定及多样性分析的基础。而R语言凭借其批量处理、可复现和与后续多元统计无缝衔接的优势,成为生态学研究者处理样方数据的高效工具。从野外记录的宽表到标准化长表,再到分组汇总计算相对指标,R语言能够显著提升数据处理效率与准确性。本文以实测群落数据为例,系统梳理重要值的两种算法口径、基于dplyr和tidyr的完

weixin_42634811的博客 265

【机器学习与数据挖掘实战 | 商务】案例03:基于k近邻算法的非侵入式电力负荷监测与分解的电力分析

本案例结合非侵入式电力负荷监测与分解的案例,重点介绍了在数据可视化的辅助下k近邻算法的应用。首先利用数据可视化寻找数据的特征,构建特征集合。然后构建k近邻模型,利用构建的特征集合训练模型,接着利用该模型对单一设备所属类别进行判定,最后计算实时用电量。

Morse_Chen的博客 2303

1076: [SCOI2008]奖励关 概率与期望 DP

我们先考虑dp。 n很小,并且状态之间有明显的依赖关系,显然可以二进制状压。但是为了保证当前状态是从一个合法的状态转移而来是不好判断的。我们可以倒推,从后向前转移,因为后面的状态合法与前面的状态是否合法是没有关系的。倒推也是规避不合法状态的一种有效手段。这样最后的结果就是f[1][0]。 我表示不知道期望是什么东西。。更不知道怎么算。。膜一发题解吧QAQ。这一步的期望=(上一步的期望+这一步的得

ws_fqk 544

MAC-H3C官网inode客户端下载安装

MAC-H3C官网inode客户端下载安装

兴趣是最好的老师 1万+

Speedgoat硬实时HIL平台:Simulink到物理闭环的确定性桥梁

硬实时系统指在严格时限内完成任务并保证最坏响应时间(WCET)可控的技术范式,其核心在于确定性——而非单纯速度。它依赖CPU+FPGA异构架构、专用I/O硬件时间戳、定制RT-Linux驱动栈三重协同,解决模型与物理世界交互中的时序抖动、采样失步与中断不可预测等根本问题。该能力直接支撑汽车BMS安全验证、四旋翼滑模控制、电力电子HIL等高可靠场景,使Simulink模型真正具备指挥真实执行器与传感器的能力。Speedgoat正是将这一理论确定性转化为工程确定性的关键中间层。

weixin_34185512的博客 363

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[BZOJ1076][SCOI2008]奖励关(状压dp+期望)

题目描述传送门题解概率和期望什么都不会吖。。。感觉这题不是很难但是我还是看了题解才做出来。。。 这一步的期望=(上一步的期望+这一步的权值)*这一步的概率。 然后用一维状压来表示一下已选过的状态来判断是否可以满足。用f(i,s)f(i,s)来表示第i步状态为s的期望。由于正推没有办法确定状态的最优解,所以倒推比较合适。代码#include<iostream> #include<cstring>

zyf2000 645

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

BZOJ-1076: [SCOI2008]奖励关 (概率期望DP 未完待续)

1076: [SCOI2008]奖励关 Time Limit:10 SecMemory Limit:128 MBSubmit:2938Solved:1537[Submit][Status][Discuss] Description   你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出...

weixin_33809981的博客 115

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

BZOJ 1076: [SCOI2008]奖励关(概率+dp)

首先嘛,看了这么久概率论真的不错啊。看到就知道怎么写(其实也挺容易的= =)直接数位dp就行了CODE:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int g[20],a[20],q[20];double f[12...

weixin_30318645的博客 61

[BZOJ1076][SCOI2008]奖励关[状压DP+概率期望]

\(f[i][j]\) 表示第1到i-1轮宝物是否取过的状态是j,第i轮到最后一轮的最大得分。 这样设计状态并且倒着推,可以保证不合法的状态是0,不会造成影响 \(nd[i]\)表示第i个物品要求的状态 #include <bits/stdc++.h> using namespace std; typedef long long LL; #define lop(i,a,b) for(r...

weixin_33832340的博客 192

bzoj1076 [SCOI2008]奖励关

[SCOI2008]奖励关 Time Limit: 10 Sec Memory Limit: 128 MB Description   你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也...

weixin_30642029的博客 74

bzoj 1076: [SCOI2008]奖励关【状压dp+概率dp】

设f[i][s]为前i步,选的礼物集合为s的方案数,然而并不会转移…… 看了hzwer的blog,发现要倒着转移,然后答案就是f[1][0] 妙啊 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=15; int n,m,a[N],p[N]...

weixin_30724853的博客 126

BZOJ.1076.[SCOI2008]奖励关(概率DP 倒推)

题目链接 BZOJ 洛谷 真的题意不明啊。。 \(Description\) 你有k次选择的机会,每次将从n种物品中随机一件给你,你可以选择选或不选。选择它会获得这种物品的价值;选择一件物品前需要先选择某些种物品每种至少一件。 物品价值可能有负。问在最优策略下期望得分。 \(Solution\) 并不像期望DP。。(这题倒推也不是因为像期望DP那样) 最优解我以为还要贪心,其实只需要在枚举过程中取...

weixin_30609287的博客 80

BZOJ_P1076 [SCOI2008]奖励关(概率期望DP+状态压缩DP)

BZOJ传送门 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1435 Solved: 804 [Submit][Status][Discuss] Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决

BeiYu 498
上一篇: 大暴搜 字串变换
下一篇: 概率DP 守卫者的挑战
QTY_
博客等级 码龄9年 13粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值