emmm第一道期望dp+个状压

真有趣..

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #include<algorithm>
  5. #define max(a,b) (a>b?a:b)
  6. #define rint register int
  7. template <class T>inline void read(T &X)
  8. {
  9. X=;int W=;char ch=;
  10. while(!isdigit(ch))W|=ch=='-',ch=getchar();
  11. while(isdigit(ch))X=(X<<)+(X<<)+(ch^),ch=getchar();
  12. X=W?-X:X;return;
  13. }
  14.  
  15. int K,n,maxn,need[];
  16. double ans=,p[],dp[][<<];
  17. int main()
  18. {
  19. read(K),read(n);
  20. maxn=(<<n)-;
  21. for(rint i=;i<=n;++i)
  22. {
  23. scanf("%lf",&p[i]);
  24. while()
  25. {
  26. int x;
  27. read(x);
  28. if(!x)break;
  29. need[i]=need[i]|(<<x-);
  30. }
  31. }
  32.  
  33. for(rint i=K;i>;--i)
  34. {
  35. for(rint s=;s<=maxn;++s)//枚举状态
  36. {
  37. for(rint j=;j<=n;++j)//枚举可能的物品种类
  38. {
  39. if((s&need[j])!=need[j]) {dp[i][s]+=dp[i+][s];continue;}
  40. dp[i][s]+=max(dp[i+][s],dp[i+][s|(<<j-)]+p[j]);
  41. }
  42. dp[i][s]/=n;
  43. }
  44. }
  45. printf("%.6lf\n",dp[][]);
  46. return ;
  47. }

<SCOI2008>奖励关的更多相关文章

  1. 【BZOJ1076】[SCOI2008]奖励关 状压DP+期望

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

  2. 1076: [SCOI2008]奖励关( dp )

    期望状压dp.... ------------------------------------------------------------------ #include<cstdio> ...

  3. BZOJ_1076_[SCOI2008]奖励关_状压DP

    BZOJ_1076_[SCOI2008]奖励关_状压DP 题意: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛 ...

  4. LG P2473 [SCOI2008]奖励关

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

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

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

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

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

  7. 【洛谷】2473:[SCOI2008]奖励关【期望DP(倒推)】

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

  8. BZOJ1076 [SCOI2008]奖励关 【状压dp + 数学期望】

    1076: [SCOI2008]奖励关 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3074  Solved: 1599 [Submit][Sta ...

  9. [BZOJ1076][SCOI2008]奖励关 状压dp

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

  10. 1076: [SCOI2008]奖励关

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

随机推荐

  1. 一线大厂的分布式唯一ID生成方案是什么样的?

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  2. 64)vertor 简单使用

    1)简单 代码样例:我的理解   vector  其实就是一个简单的数组,然后通过迭代器来进行 遍历数组中的值,而且有自带push_back()来添加元素 #include<iostream&g ...

  3. PAT Advanced 1127 ZigZagging on a Tree (30) [中序后序建树,层序遍历]

    题目 Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree c ...

  4. 通过编写c语言程序,运行时实现打印另一个程序的源代码和行号

    2017年6月1日程序编写说明: 1.实现行号的打印,实现代码的读取和输出,理解主函数中的参数含义. 2.对fgets函数理解不够 3.对return(1); return 0的含义理解不够 4.未实 ...

  5. Qt QRect与QRectF的区别

    一直在与QRect和QRectF打交道.甚至在使用过程中因为QRect而出现了致命的Bug.因为QRect在数据存储表示上有一个很大的“历史遗留问题”! QRect Class   也就是说,对于QR ...

  6. Django专题-AJAX

    AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JS ...

  7. 关于mysql一边查一边更新

    update test_table set user_id = 112 where id in (select id from ( select id from test_table where nu ...

  8. 关于汽车诊断OBD的理解(ISO15031-5)(转发)

    1.OBD用来做什么 2.OBD和UDS的区别 3.OBD硬件接口简介 4.OBD的9大模式介绍 OBD(On-Board Diagnostic)指的是在线诊断系统,是汽车上的一种用于监控车辆状况以及 ...

  9. LeetCode——919.完全二叉树插入器

    完全二叉树是每一层(除最后一层外)都是完全填充(即,结点数达到最大)的,并且所有的结点都尽可能地集中在左侧. 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操作: CBT ...

  10. Python语言学习:homework1

    '''购物车程序1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4.可随时退出,退出时,打印已购买商品和余额 ...