题目链接

题意 : 中文题、点链接

分析 :

第一道有关概率期望的DP

有个大部分情况下通用的结论

概率正推、期望反推

原因不明、其实是没有查到较好的解释

这题由于有一些取物品的先决条件在这里

而且观察到题目 n 并不是很大

果断选择状压来解决

这题定义 dp[i][j] 到第 i 回合、拿过物品状态为 j 的情况的最优值是什么

转移的时候、第一维倒序枚举回合、第二维枚举状态、然后第三维枚举每个物品

如果当前状态包含了当前枚举到的物品的先决物品的话

则有转移 dp[i][j] += max( dp[i+1][j]、dp[i+1][j | (1<<k)] + val[k] ) / n

否则 dp[i][j] += dp[i+1][j] / n

#include<bits/stdc++.h>
using namespace std;

][(<<) + ];
], val[];

int main(void)
{
    int Times, n;
    scanf("%d %d", &Times, &n);

    ; i<=n; i++){
        scanf("%d", &val[i]);
        int pre;
        while(~scanf("%d", &pre) && pre){
            Pre_State[i] |= (<<pre);
        }
    }

    ; i>=; i--){
        ; s<(<<(n+)); s++){
            ; j<=n; j++){
                if((s & Pre_State[j]) == Pre_State[j]){
                    dp[i][s] += max(dp[i+][s], dp[i+][s | (<<j)] + val[j]) / n;
                }][s] / n;
            }
        }
    }

    printf(][]);

    ;
}

洛谷 P2473 [SCOI2008]奖励关 ( 期望DP )的更多相关文章

  1. 洛谷 P2473 [SCOI2008]奖励关 解题报告

    P2473 [SCOI2008]奖励关 题目描述 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出\(k\)次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝 ...

  2. 洛谷 P2473 [SCOI2008]奖励关(状压dp+期望)

    题面 luogu 题解 \(n \leq 15\) 状压 \(f[i][S]\)表示第\(i\)轮,吃过的集合为\(S\) 正着转移好像有点复杂 考虑逆推转移(正着转移应该也行) \(f[i][S]\ ...

  3. 洛谷P2473 [SCOI2008]奖励关(期望+状压)

    传送门 我数学期望还是太差了…… 先考虑状压模型,设$dp[i][S]$表示第$i$轮,当前宝物状态为$S$,能获得的最大期望分数 然而这个模型有一个问题,第$i$轮不一定能达到状态$S$ 那么考虑转 ...

  4. bzoj1076: [SCOI2008]奖励关(期望dp+状压dp)

    1076: [SCOI2008]奖励关 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2989  Solved: 1557[Submit][Statu ...

  5. 【bzoj1076】[SCOI2008]奖励关 期望dp+状态压缩dp

    题目描述 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再 ...

  6. 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP

    [题意]n种宝物,k关游戏,每关游戏给出一种宝物,可捡可不捡.每种宝物有一个价值(有负数).每个宝物有前提宝物列表,必须在前面的关卡取得列表宝物才能捡起这个宝物,求期望收益.k<=100,n&l ...

  7. 洛谷2473(SCOI2008)奖励关

    题目:https://www.luogu.org/problemnew/show/P2473 因为可不可选此物与之前选过什么物品有关,所以状态可以记录成前面已经选过什么物品. 因为选不选此物与它带来的 ...

  8. P2473 [SCOI2008]奖励关(期望)

    P2473 [SCOI2008]奖励关 $n<=15$,显然的状压 设$f[i][w]$表示前$i$轮,状态$w$的最大期望 蓝后我们发现一个问题:$f[i][w]$可能是非法的 于是我们从$f ...

  9. LG P2473 [SCOI2008]奖励关

    题目链接:P2473 [SCOI2008]奖励关 题意:有n个宝物 每次等概率抛出其中之一一共抛出k次每个宝物有一个价值 和一个前提集合只有集齐了集合中的所有宝物 才可以领取这个宝物 范围:1 < ...

随机推荐

  1. Spring框架是怎么解决Bean之间的循环依赖的 (转)

    问题: 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环.比如A依赖于B,B依赖于C,C又依赖于A.如下图:   如何理解“依赖”呢,在Spring中有: 构造器循 ...

  2. Collection接口的子接口——Queue接口

    https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html public interface Queue<E> exten ...

  3. sql server delete语句

    delete语句 --DELETE 语句用于删除表中的行 语法:delete from 表名称 where 列名称 = 值 --可以在不删除表的情况下删除所有的行.这意味着表的结构.属性和索引都是完整 ...

  4. golang(6): 接口 & 反射

    接口详解 // 举例:sort包中的 Sort 函数,如下: func Sort(data Interface) Sort sorts data. It makes one call to data. ...

  5. Tomcat error: failed to start connector [connector[HTTP/1.1-8080]]

    出现这个问题多半是因为8080端口被占用了.换一个端口试试

  6. scrapyd使用教程

    1. 安装服务器: pip install scrapyd 启动: scrapyd 访问:127.0.0.1:6800 2. 安装客户端 pip install scrapyd-client 3. 进 ...

  7. resulting in duplicate entry '1' for key 'primary'

    现在有一个标签表,里面已经填入了一些数据了,想把主键生成策略改成自增的: ALTER TABLE `tags` CHANGE COLUMN `Id` `Id` INT(11) NOT NULL AUT ...

  8. replace函数更换表中字段的域名

    网站域名更换后,数据库很多链接都是存的绝对路径,这时候需要修改表里字段的路径,使用replace函数更改域名 update 表名 set 字段名 =replace(字段名 ,'旧域名','新域名') ...

  9. Linux中的grep 命令

    介绍grep文本处理命令,它也可以解释正则. 常用选项: -E :开启扩展(Extend)的正则表达式. -i :忽略大小写(ignore case). -v :反过来(invert),只打印没有匹配 ...

  10. SSD学习笔记

    目标检测算法——SSD:Single Shot MultiBox Detector,是一篇非常经典的目标检测算法,十分值得阅读和进行代码复现,其论文地址是:https://arxiv.org/abs/ ...