hdu 4336 容斥原理
来源:互联网 发布:subversion mac 编辑:程序博客网 时间:2024/05/16 14:34
按照解题报告的提示,用容斥原理实现
#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;double gl[50],ans;int n;void solve(int bg,double sum,int flag,double &ans){ans+=flag/sum;for(int j=bg+1;j<n;j++)solve(j,sum+gl[j],-1*flag,ans);return;}int main(){int i,j,k;while(~scanf("%d",&n)){for(i=0;i<n;i++)scanf("%lf",&gl[i]);ans=0;for(i=0;i<n;i++){solve(i,gl[i],1,ans);}printf("%f\n",ans);}return 0;}
另解:概率dp,康哥指导的
#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;double f[1<<21],gl[22];int main(){int i,j,k,n;double fz,fm;while(~scanf("%d",&n)){for(i=0;i<n;i++)scanf("%lf",&gl[i]);f[(1<<n)-1]=0;for(i=(1<<n)-2;i>=0;i--){fz=1;fm=0;for(k=0;k<n;k++){if((i>>k&1)==0){fz+=gl[k]*f[i|(1<<k)];fm+=gl[k];}}//printf("^ %f %f\n",fz,fm);f[i]=fz/fm;}printf("%f\n",f[0]);}return 0;}
- hdu 4336 容斥原理
- hdu 4336 Card Collector (容斥原理)
- 【容斥原理】HDU 4135
- hdu 4135 容斥原理
- hdu 1695 容斥原理
- hdu 4407 容斥原理
- HDU 1796 容斥原理
- hdu 1796 容斥原理
- hdu 4135 (容斥原理)
- HDU 1695 容斥原理
- HDU 3929 容斥原理
- HDU 4135 容斥原理
- hdu 4407 容斥原理
- hdu 4135 容斥原理
- hdu 4135 容斥原理
- hdu 4135(容斥原理)
- hdu 2204 容斥原理
- hdu 1796(容斥原理)
- 把一个字符串通过递归转换成相应数字
- 北大ACM poj 3991
- 你可能没用过的Linux命令
- Expression blend 4 破解
- ZOJ 3474 Taekwondo
- hdu 4336 容斥原理
- configure: error: Cannot find ldap.h
- hdu1232 并查集
- 【物联网智能网关-07】PCF8591 AD转换模块I2C通信实现
- CentOS下编译php时的一些典型错误及解决办法.
- PHP 学习笔记
- 关于跨越冲销发票的问题
- dom4j生成XML
- 【OpenCV】边缘检测:Sobel、拉普拉斯算子