概率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]);
}

人工智能——框架表示法 1975年美国明斯基在“A framework for representing knowledge”提出了框架理论。 1. 框架及框架的一般表示形式 框架:一种描述对象属性的数据结构。 框架的一般表示形式 <框架名> 槽名1: 侧面名1:值1,值2…,值p1 侧面名2:值1,值2…,值p2 侧面名2:值1,值2…,值pm1 槽名2: 侧面名... 阅读详情

相关推荐

Ubuntu无桥接模式或连不上网(详细解决方法

目录 问题1:Ubuntu没有未桥接的主机网络适配器 解决方法 1.打开VMware安装目录下的文件 ​编辑2.右键安装以上三个文件 3.打开网络状态属性,找到VMware bridgeProtocol,点击安装 问题2.Ubuntu桥接模式连不上网 1.win+r打开cmd终端,输入ipconfig /all 2.记录以下数据 3.打开VMware网络设置 问题1:Ubuntu没有未桥接的主机网络适配器 VMWare安装之后,虚拟网络一直使用默认配置 VMnet0为...

m0_65592409的博客 6062

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

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

reverie_mjp的博客 361

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 352

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

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

qq_43710979的博客 200

群晖NAS下docker安装MySql

本文将一步一步讲解如何在群晖NAS的docker中启用一个MySQL容器 , 算是初学者对问题解决的一个记录.

qq_46375248的博客 5976

基于STM32的电子时钟设计

基于STM32的电子时钟设计1、设计目的2、设计具体要求3、proteus仿真图4、程序代码 1、设计目的 (1)掌握使用KEIL MDK5进行软件开发的具体流程; (2)掌握硬件电路的设计方法; (3)掌握STM32微控制器的程序设计及代码编写方法。 2、设计具体要求 (1)通过STM32自带的实时时钟功能获取时间信息; (2)在OLED显示屏上显示日期、时、分、秒等时间信息; (3)通过按键可对时间信息进行修改; (4)具有闹钟设定功能; (5)加分项:自行增加其他功能。 3、proteus仿真图 4

唯一的博客 2万+

奖励关(概率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

VIVADO网表文件DCP和EDF

为了便于模块化设计,同时保护自己的知识产权,Xilinx VIVADO 提供两种代码封装方法:DCP文件和edf文件。

u014035968的博客 1万+

[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

光通信仿真入门:手把手教你用VPI和Matlab搭建第一个联合仿真系统(含避坑指南)

本文详细介绍了如何使用VPI和Matlab搭建光通信联合仿真系统,涵盖软件配置、链路搭建、数据交互等关键环节,并提供常见问题的解决方案。特别适合初学者快速掌握光通信仿真技术,避免常见错误,提升仿真效率。

weixin_28733637的博客 378

[数学建模][2012年A国赛模拟] 3. 葡萄酒的评价

暑期学校数学建模培训第三次模拟:2012年国赛A题,一道完全统计方面的题目。据老师反映当年有位老师所带领小组取得“全国10佳优秀论文奖”,我们大组搞统计的老师建模能力不行,但其统计理论非常扎实,在此期间给予我们非常大的帮助,十分感谢老师的倾囊相授。我们小组的定位也不在统计方向,主攻物理建模及优化模型,故本次模拟就用SPSS软件简单做了下,还是学到了多元统计的许多知识,达到了本次训练的目的。 ...

Y-puyu 的博客 3万+

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

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

ws_fqk 544

数据仓库数据质量监控和处理方法最佳实践

指的是检查数据是否存在反常或者错误的情况,例如数值反常地过大或者过小,或者超过记录的波动值,对应的规则包括数值波动检查,最大值、最小值检查,跨表准确性等。指的是检查数据是否存在缺失的情况,这里的缺失可以是整个数据集的记录缺失,也可以是某个字段记录的缺失,对应的规则包括空值检查,表总行数检查。指的是检查数据是否符合规范,是否按照规定的格式存储,对应的规则包括正则表达式检查,字段长度检查,枚举集合检查,数值范围等。指的是检查哪些数据是重复数据或者数据的哪些属性是重复的,对应的规则例如主键唯一性检查。

大模型大数据攻城狮的专栏 897

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

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

weixin_34185512的博客 363

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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

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

zyf2000 645

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

weixin_33809981的博客 115

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、付费专栏及课程。

余额充值