[BZOJ 4036][HAOI2015]按位或
4036: [HAOI2015]按位或
Time Limit: 10 Sec Memory Limit: 256 MBSec Special Judge
Submit: 746 Solved: 456
[Submit][Status][Discuss]Description
刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal的or)操作。选择数字i的概率是p[i]。保证0<=p[i]<=1,Σp[i]=1问期望多少秒后,你手上的数字变成2^n-1。Input
第一行输入n表示n个元素,第二行输入2^n个数,第i个数表示选到i-1的概率
Output
仅输出一个数表示答案,绝对误差或相对误差不超过1e-6即可算通过。如果无解则要输出INF
Sample Input
2
0.25 0.25 0.25 0.25Sample Output
2.6666666667HINT
对于100%的数据,n<=20
题解
首先无解非常好判. 非 $0$ 概率值全都或起来如果得不到全集就肯定无解了.
这题要求期望...考虑期望等于啥...
每步开始之前, 我们对于非全集的情况都需要继续进行下一步.
由期望的线性性, 我们可以对于每一步都分开计算.
而进行完一步之后每种状态的概率要怎么算呢? 显然我们有:
$$ c_k=\sum_{i\operatorname{or}j=k} a_it_j$$
显然这是一个或运算卷积的形式. 所以对于一步的情况, 我们可以FWT解决.
但是在这个题目里则可能是无限步, 我们继续来思考.
因为FWT满足卷积定理, 所以我们有:
$$ \operatorname{FWT}\left(\sum_{i=0}^\infty t^i\right)_k=\sum_{i=0}^\infty \operatorname{FWT}(t)_k^i $$
而等式右边是个首项为 $1$ 的等比数列求和式, 因为 $\operatorname{FWT}(t)_k\leq 1$ 所以这个值一定收敛于 $\frac 1 {1-\operatorname{FWT}(t)_k}$.
算完 $\operatorname{FWT}^{-1}$ 回去求所有非全集下标的和就行了.
代码实现
毕姥爷: 从我们都熟悉的FWT开始
#include <bits/stdc++.h> const int DWT=;
const int IDWT=-;
const int MAXN=(<<)+; double a[MAXN]; void FWT(double*,int,int); int main(){
int n;
scanf("%d",&n);
int len=<<n;
int cur=;
for(int i=;i<len;i++){
scanf("%lf",a+i);
if(a[i]>)
cur|=i;
}
if(cur!=len-)
puts("INF");
else{
FWT(a,len,DWT);
for(int i=;i<len;i++)
a[i]=1.0/(-a[i]);
FWT(a,len,IDWT);
double ans=;
for(int i=;i<len-;i++)
ans+=a[i];
printf("%.10f\n",ans);
}
return ;
} void FWT(double* a,int len,int opt){
for(int i=;i<len;i<<=)
for(int j=;j<len;j+=i<<)
for(int k=;k<i;k++)
a[j+k+i]+=opt*a[j+k];
}
BZOJ 4036

[BZOJ 4036][HAOI2015]按位或的更多相关文章
- BZOJ 4036: [HAOI2015]按位或 集合幂函数 莫比乌斯变换 莫比乌斯反演
http://www.lydsy.com/JudgeOnline/problem.php?id=4036 http://blog.csdn.net/lych_cys/article/details/5 ...
- bzoj 4036 [HAOI2015]按位或——min-max容斥+FMT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 题解:https://www.cnblogs.com/Zinn/p/10260126. ...
- bzoj 4036: [HAOI2015]按位或【min-max容斥+FWT】
其实也不是FWT--我也不知道刷FWT专题问什么会刷出来这个东西 这是min-max容斥讲解:https://www.zybuluo.com/ysner/note/1248287 总之就是设min(s ...
- BZOJ 4036 [HAOI2015] Set 解题报告
首先我们不能一位一位的考虑,为什么呢? 你想想,你如果一位一位地考虑的话,那么最后就只有 $n$ 个数字,然而他给了你 $2^n$ 个数字,怎么看都不对劲呀.(我是因为这样子弄没过样例才明白的) 所以 ...
- 【BZOJ4036】[HAOI2015]按位或 FWT
[BZOJ4036][HAOI2015]按位或 Description 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal的or ...
- BZOJ.4034 [HAOI2015]树上操作 ( 点权树链剖分 线段树 )
BZOJ.4034 [HAOI2015]树上操作 ( 点权树链剖分 线段树 ) 题意分析 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 ...
- [luogu 3175] [HAOI2015]按位或(min-max容斥+高维前缀和)
[luogu 3175] [HAOI2015]按位或 题面 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行按位或运算.问期望多少秒后,你手上的数字变成2^n ...
- BZOJ 4033: [HAOI2015]树上染色题解
BZOJ 4033: [HAOI2015]树上染色题解(树形dp) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327400 原题地址: BZOJ 403 ...
- bzoj4036 / P3175 [HAOI2015]按位或
bzoj4036 / P3175 [HAOI2015]按位或 是一个 min-max容斥 的板子题. min-max容斥 式子: $ \displaystyle max(S) = \sum_{T\su ...
随机推荐
- 证书透明度Certificate Transparency
发现使用google浏览器访问HTTPS网址时,点击小锁-->>连接-->>有一项服务器未提供任何 certificate transparency 信息?只有google浏览 ...
- Eclipse空白包的显示和隐藏
Eclipse空白包的显示和隐藏 点击三角形, ,下拉 -> Customize View... -> Empty packages (勾选)
- JAVA-2NIO之Channel
注意:转载自并发编程网 – ifeve.com本文链接地址: Java NIO系列教程(二) Channel Channel Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可 ...
- JS实现最小生成树之克鲁斯卡尔(Kruskal)算法
克鲁斯卡尔算法打印最小生成树: 构造出所有边的集合 edges,从小到大,依次选出筛选边打印,遇到闭环(形成回路)时跳过. JS代码: //定义邻接矩阵 let Arr2 = [ [0, 10, 65 ...
- Java学习--扑克牌比大小的小游戏
实现:生成五十四张牌,然后进行洗牌,输入两名玩家,然后分别发两张牌,进行比较大小,两张牌中拥有较大一张牌的玩家获胜 Card.java代码如下: package com.cardgame; publi ...
- 撩课-Python-每天5道面试题-第5天
一. 给定一个圆心和半径, 以及一个点坐标, 判定该点是否在圆内; 例如: 用户输入圆心: (1, 2) 半径: 2.5 测试点为(2, 2)结果: 判定测试点是在圆内 思路: 结合勾股定理, 计算测 ...
- java map常用的4种遍历方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- jquery特效:无缝向上循环滚动列表
效果呈现 整个列表间隔设定的时间向上移动一个item的高度 html结构: <div class="slide-title"> <span>title1&l ...
- 关于echarts绘制树图形的注意事项(文字倾斜、数据更新、缓存重绘问题等)
最近项目中使用到echarts的树操作,对其中几点注意事项进行下总结. 效果图: 1.基础配置 options的配置如下: { tooltip: { trigger: 'item', triggerO ...
- 前端面试经典题目(HTML+CSS)二
1.浏览器页面由哪三层构成,分别是什么,作用是什么? 构成:结构层.表示层.行为层 分别是:HTML.CSS.JavaScript 作用:HTML实现页面结构,CSS完成页面的表现与风格,JavaSc ...