[HAOI2015] 按位或

世界是物质的,物质是运动的,运动是有规律的,规律是可以被认识的。

期望意义的最值反演

\[E(\max S)=\sum_{T\subseteq S}(-1)^{|T|-1}E(\min T) \]

其中\(E(\max S)\)\(E(\min S)\)分别表示\(S\)中所遇事件全部出现和至少出现一个的期望。

故答案为

\[\sum_{T}(-1)^{|T|-1}\frac1{1-\sum_{X\subseteq \complement_uT} P(X)} \]

子集和的那部分直接高维前缀和即可。

No emptyset

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

int n,len;
double p[1<<20];

int main() {
	scanf("%d",&n);
	len=1<<n;
	for(int i=0; i<len; ++i)
		scanf("%lf",p+i);
	for(int i=0; i<n; ++i)
		for(int j=0; j<len; ++j) 
			if((j>>i)&1)
				p[j]+=p[j^(1<<i)];
	double ans;
	for(int i=1; i<len; ++i) 
		if(1-p[(len-1)^i]<1e-9) {
			puts("INF");
			return 0;
		}
		else 
			ans+=(__builtin_popcount(i)&1?1:-1)*1/(1-p[(len-1)^i]);
	printf("%.8f\n",ans);
	return 0;
}

posted @ 2019-07-06 20:05  nosta  阅读(216)  评论(0编辑  收藏  举报