HZOJ 礼物
其实是比较简单的一道期望状压dp,考试时一直在想数组表示概率,然而最后出的数总是小于一,于是无奈的把第一个点判掉放弃了其他点。
设f[i]为状态为i时到全部买到的期望次数,$f[i]=∑f[j]*p[k]+(1-∑p[k])+1$,f[(1<<n)-1]=0,倒着推,k为j中的元素,$i|(1<<(k-1))=j$,然后可以用高斯消元求解(显然会T啊),其实只要移项就可以了,
,时间复杂度:O(2^N)。
#include<iostream>
#include<cstdio>
#include<bitset>
#define int LL
#define LL long long
using namespace std;
double f[1<<22],sp;
int n,w[21],sum;
double p[21];
signed main()
{
// freopen("in.txt","r",stdin); cin>>n;
for(int i=1;i<=n;i++)
{
cin>>p[i]>>w[i];sp+=p[i];sum+=w[i];
}
f[(1<<n)-1]=0;
for(int i=(1<<(n))-2;i>=0;i--)
{
double sum=0,spp=0;
for(int k=1;k<=n;k++)
if(((1<<(k-1))|i)!=i)
spp+=p[k],sum+=p[k]*f[i|(1<<(k-1))];
f[i]=(sum+1)/spp;
}
printf("%lld\n%0.3lf\n",sum,f[0]);
}
还有一点就是要用longlong,int会wa50,虽然算着只是擦边,但是这种情况还是开longlong比较好。
HZOJ 礼物的更多相关文章
- jQuery动画-圣诞节礼物
▓▓▓▓▓▓ 大致介绍 下午看到了一个送圣诞礼物的小动画,正好要快到圣诞节了,就动手模仿并改进了一些小问题 原地址:花式轮播----圣诞礼物传送 思路:动画中一共有五个礼物,他们平均分布在屏幕中,设置 ...
- bzoj 3055礼物运送 floyed + 状压DP
bzoj 3055: 礼物运送 floyed first 设f[i][S]表示取到了S集合中的所有点(不一定是经过的所有点),最后停在了i的最优值. 初始就f[i][{i}] = dis[1][i] ...
- Typecast 免费了!献给设计师们的礼物
TypeCast 让你可以从 Fonts.com.TypeKit.FontDeck 和 Google 这些字体供应和商选择字体,而且能非常方便的比较这些字体使用效果.如果你想获得用户对这些字体效果的反 ...
- 【HDU 5835】Danganronpa(分配礼物)
10种礼物,每种有ai个,每个小朋友分两个礼物,其中普通礼物要求相邻两人的不能一样,求最多分给几个小朋友. sum/2是最多的情况.什么时候发不了那么多,就是当max很大,无论怎么发,都发不完max. ...
- bug检测报告---礼物挑选小工具--飞天小女警
飞天小女警----礼物挑选小工具 测试产品链接:http://123.207.159.79:8088/giving_gifts/ 发布在作者的博客里面:http://www.cnblogs.com/s ...
- 在线制作h5——上帝的礼物
在线制作h5 网址:http://www.godgiftgame.com 网站名称:上帝的礼物 推荐指数:5颗星 功能概要 可以设置背景.元素图片.元素文字.元素图形.声音.加载.链接.分享,生成h5 ...
- 失恋28天-缝补礼物(codevs 2503)
2503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 话说上回他给女孩送 ...
- bzoj 3920: Yuuna的礼物
Description 转眼就要到Karin的生日了!Yuuna她们想为她准备生日礼物!现在有许多礼物被排列成了一个一维序列,每个礼物都有一个价值.Yuuna对这个序列十分感兴趣.因此,你需要多次回答 ...
- cdoj 1131 男神的礼物 区间dp
男神的礼物 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1131 Descr ...
随机推荐
- 前后端分离后API交互如何保证数据安全性
前后端分离后API交互如何保证数据安全性? 一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC ...
- oracle-PL/SQL2
一 存储过程 存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.在 ORACLE SERVER上建立存储过程,可以被多个应用程序调用,可以向存储过程传递参数,也可以 ...
- MobaXterm实时查看Linux服务器上的日志
一.工具 MobaXterm介绍 https://blog.csdn.net/juyin2015/article/details/79056687/ 1.,点击Session 输入服务器IP.用户名 ...
- input输入框校验
1.只能输入数字,当输入不符字符删除,光标位置不变 //只能输入数字 function onlyNumTrue(obj){ var reg = /[^\d]/g; var pos = obj.sele ...
- 【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)
[二次元的CSS]—— 用 DIV + CSS3 画咸蛋超人(详解步骤) 2016-05-17 HTML5cn 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的 ...
- python-null
很早之前,遇到过一个面试官问的python中有没有null,当时有点紧张,想成了None,就脱口而出是有的.今天遇到了none问题,所以就正好说一下. python中是没有NULL的. Python中 ...
- Python2.7用sys.stdout.write实现打印刷新
如何能在控制台实现在一行中显示进度的信息呢,就像使用pip安装时的进度那样. 如果用print则会打印成多行,下面这个小技巧可以在一行中打印: import time import sys if __ ...
- oracle 处理表的一列
---删除一列和数据一起删除了. ALTER TABLE 表名 DROP COLUMN 列名; ---添加一列 alert table 表名 add column 列名; ---只删除一列的数据 没有 ...
- 计算机网络3.2&3.3(第二节介质&第三节多路复用)
有限的传播介质 双绞线 双绞线电缆 双绞线总结 2 同轴电缆 粗细电缆的传输距离 现在基本都用双绞线和光线 同轴电缆用于居民小区和家庭使用 3 光纤 光纤中以光信号的形式进行传播 正如我们现在看到这样 ...
- PHP-xdebug+PHPStorm的debug安装(未完)
PHP的xdebug安装 一.首先去phpinfo()查看自己的php是32还是64位的,再根据php版本在下面的网站https://xdebug.org/download.php选择xdebug插件 ...