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…
[luogu 3175] [HAOI2015]按位或 题面 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行按位或运算.问期望多少秒后,你手上的数字变成2^n-1. 分析 前置知识:min-max容斥 记\(\max(S)\)为集合\(S\)中的最大值,\(\min(S)\)为集合\(S\)中的最小值(如果\(S=\emptyset\) ,那\(\max(S)=\min(S)=0\)),那么有 \[\max(S)=\sum _{T\subseteq S}…
考虑min-max容斥 \(E[max(S)] = \sum \limits_{T \subset S} min(T)\) \(min(T)\)是可以被表示出来 即所有与\(T\)有交集的数的概率的和的倒数 通过转化一下,可以考虑求所有与\(T\)没有交集的数的概率和 即求\(T\)的补集的子集的概率和 用FMT随意做下吧... 注意:概率为1的时候需要特判 复杂度\(O(2^n * n)\) #include <cstdio> #include <vector> #include…
题目链接 \(Description\) 给定\(n\)个正整数\(a_i\).求有多少个子序列\(a_{i_1},a_{i_2},...,a_{i_k}\),满足\(a_{i_1},a_{i_2},...,a_{i_k}\) \(and\)起来为\(0\). \(n\leq10^6,\quad 0\leq a_i\leq10^6\). \(Solution\) 这个数据范围..考虑按位容斥: 令\(g_x\)表示\(x\)的二进制表示中\(1\)的个数,\(f_x\)表示有多少个\(a_i\)…
Online Judge:Hdu6053 Label:容斥,前缀和 题面: 题目描述 给你一个长度为\(N\)的序列A,现在让你构造一个长度同样为\(N\)的序列B,并满足如下条件,问有多少种方案数?答案对\(1e9+7\)取模. \(1≤Bi≤Ai\) 对于任意(l,r) \((1≤l≤r≤N)\),有\(gcd(b_l,b_{l+1}...b_r)>=2\) 输入 The first line is an integer T(1≤T≤10) describe the number of te…
二项式反演 \[f_n=\sum\limits_{i=0}^nC^i_ng_i \Leftrightarrow g_n=\sum\limits_{i=0}^n{(-1)}^{n-i}f_i \] 证明: 容斥原理 \[|A_1 \cup A_2\cup\cdots\cup A_n|=\sum\limits_{1\le i\le n}|A_i|-\sum\limits_{1\le i<j\le n}|A_i\cap A_j|+\cdots+(-1)^{n-1}\times |A_1\cap A_2…
传送门 套路题 看到\(n \leq 20\),又看到我们求的是最后出现的位置出现的时间的期望,也就是集合中最大值的期望,考虑min-max容斥. 由\(E(max(S)) = \sum\limits_{T \subset S} (-1)^{|T| + 1} E(min(T))\),我们要求的就是一个集合至少有一个数字出现的期望时间.那么\(E(min(T)) = \frac{1}{\sum\limits_{S' \cap T \neq \emptyset} p_{S'}}\). \(\sum\…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 min-max容斥:https://blog.csdn.net/ez_2016gdgzoi471/article/details/81416333 二项式反演:https://blog.csdn.net/ez_2016gdgzoi471/article/details/81408416 而出现 \( S \) 的期望,就是 \( S \) 每一位出现的期望中的最大值: 所以 \( E…
题解: 普通的$min-max$容斥是用来求最后出现元素的期望之类的 $kth min-max$容斥进一步解决倒数第k个出现的元素的期望 给出公式: $kthmax(S)=\sum\limits_{T \in S} {} {(-1)}^{|T|-k}C_{|T|-1}^{k-1}min(T)$ 例题:重返现世…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 题解:https://www.cnblogs.com/Zinn/p/10260126.html #include<cstdio> #include<cstring> #include<algorithm> #define db double using namespace std; ,M=(<<)+; int n,bin[N],lm,ct[M];…