1728: 社交网络

Time Limit: 2 Sec  Memory Limit: 128 MB
Submit: 232  Solved: 64

SubmitStatusWeb Board

Description

Input

Output

Sample Input

2
2 1
0 1
1 0
3 1
0 1 1
1 0 1
1 1 0

Sample Output

0.500
1.125 
 
看见数学,一如既往懵逼,不过后来在纸上慢慢也找到解法了算是。
首先每个人都有若干个有关系的人(设为n)存在,要想这个人是交际花的话,此人必定是女的所以E=1*0.5;
又因为必须要认识k个男的的要求,所以n>=k,接着就是计算可能性有多少种,假设j表示n个人中男的数量,显然所有的可能性是:(j=k,j=k+1,j=k+2......j=n)
接着问题就来了n个人中j个男人的概率是多少,显然要用到组合数,因为n最大30大大超过了LL的范围所以不能直接计算只能通过打表存下C[30][30]内的组合数!
由于男女的概率对半分所以直接乘上0.5^n即可表示这些人组成这些性别的概率;
 
学习到了组合数的打表计算,和计算复杂概率

#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#define CIN(a) scanf("%d",&a)
using namespace std;
int G[35];
long long C[32][32];
void init()
{
int i,j;
for(i=1;i<=31;++i) C[i][0]=1,C[i][1]=1,C[i][i]=1;
for(i=1;i<=31;++i)
for(j=1;j<=i;++j)
C[i][j]=C[i][j-1]*(i-j+1)/j;
}
double POW(double a,int b)
{
double s=1.00;
for(int i=1;i<=b;++i) s=s*a;
return s;
}
int main()
{init();
int t,i,j,n,k;
CIN(t);
while(t--){int b;memset(G,0,sizeof(G));
double P=0,E=0;
CIN(n),CIN(k);
for(i=1;i<=n;++i)
for(j=1;j<=n;++j) {CIN(b);
if(b==1) G[i]++;
}
for(i=1;i<=n;++i)
for(j=k;j<=G[i];++j){
E+=0.5*(C[G[i]][j]*POW(0.5,G[i]));        //n个人中有j个人是男的时第i号人是交际花的概率(由于只是一个人,此值也表示期望)
}
printf("%.3f\n",E);
}
return 0;
}

zzuli1728(数学期望,组合数)的更多相关文章

  1. 【区间dp+组合数+数学期望】Expression

    https://www.bnuoj.com/v3/contest_show.php?cid=9148#problem/I [题意] 给定n个操作数和n-1个操作符,组成一个数学式子.每次可以选择两个相 ...

  2. 数学期望和概率DP题目泛做(为了对应AD的课件)

    题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...

  3. 【整理】简单的数学期望和概率DP

    数学期望 P=Σ每一种状态*对应的概率. 因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc.在没有接触数学期望时看到数学期望的题可能会觉得很阔怕(因为我高中就是这么 ...

  4. 2019暑期集训第二讲 - 组合数学&概率&数学期望

    A - 容斥原理(CodeForces - 451E) 二进制状态压缩暴力枚举哪几个花选的个数超过了总个数,卢卡斯定理求组合数,容斥原理求答案 可以先把每个花的数量当成无限个,这样就是一个多重集的组合 ...

  5. [BZOJ 3143][HNOI2013]游走(数学期望)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3143 分析: 易得如果知道了每条边经过的数学期望,那就可以贪心着按每条边的期望的大小赋 ...

  6. Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)

    题目链接 题意 : 一个m面的骰子,掷n次,问得到最大值的期望. 思路 : 数学期望,离散时的公式是E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn) p(xi)的是 ...

  7. [2013山东ACM]省赛 The number of steps (可能DP,数学期望)

    The number of steps nid=24#time" style="padding-bottom:0px; margin:0px; padding-left:0px; ...

  8. 【BZOJ2134】单位错选(数学期望,动态规划)

    [BZOJ2134]单位错选(数学期望,动态规划) 题面 BZOJ 题解 单独考虑相邻的两道题目的概率就好了 没了呀.. #include<iostream> #include<cs ...

  9. 【BZOJ1415】【NOI2005】聪聪和可可(动态规划,数学期望)

    [BZOJ1415][NOI2005]聪聪和可可(动态规划,数学期望) 题面 BZOJ 题解 先预处理出当可可在某个点,聪聪在某个点时 聪聪会往哪里走 然后记忆化搜索一下就好了 #include< ...

随机推荐

  1. P3456 [POI2007]GRZ-Ridges and Valleys(bfs)

    P3456 [POI2007]GRZ-Ridges and Valleys 八个方向都跑一遍bfs,顺便判断一下是山峰还是山谷,或者是山坡(俩都不是) (实在不知道要说啥了qwq) #include& ...

  2. P4391 [BOI2009]Radio Transmission 无线传输

    P4391 [BOI2009]Radio Transmission 无线传输 kmp 题目让我们求一个串的最小循环子串 我们回想一下kmp中的失配函数 用 f 数组保存当前字符匹配失败后,需要跳到的前 ...

  3. android CMakeLists

    https://developer.android.google.cn/studio/projects/configure-cmake https://blog.csdn.net/songmingzh ...

  4. C++设计模式 之 “数据结构” 模式:Composite、Iterator、Chain of Resposibility

    "数据结构"模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用.这时候,将这些特定数据结构封装在内部,在外部提供统一的接口, ...

  5. 20145105 《Java程序设计》第7周学习总结

    20145105 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 一.认识时间与日期 (一)时间的度量 格林威治标准时间 世界时 国际原子时 世界协调时 Uni ...

  6. mpvue小程序开发入门级指南

    报错指南 "Error: ERR_GET_SESSION_KEY {"code":5100,"message":"(-1)服务内部错误,请稍 ...

  7. VC++实现获取文件占用空间大小的两种方法(非文件大小)

    // GetFileSpaceSize.cpp : Defines the entry point for the console application. // /***************** ...

  8. 判断某个ImageView的背景图是否是已知的背景图相等

    if (ibtn.getDrawable().getConstantState().equals(getResources().getDrawable(R.mipmap.image).getConst ...

  9. Python3基础 函数 无参数无返回值 调用会输出hello world的函数

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. 51nod 1021 石子归并 区间DP

    1021 石子归并  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  取消关注 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆 ...