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. Js基础知识5-函数返回值、函数参数、函数属性、函数方法

    函数返回值 所有函数都有返回值,没有return语句时,默认返回内容为undefined,和其他面向对象的编程语言一样,return语句不会阻止finally子句的执行. function testF ...

  2. java多线程----ReentrantReadWriteLock

    package com.test; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks ...

  3. web前端----Bootstrap框架补充

    一.一个小知识点 1.截取长屏的操作 2.设置默认格式 3.md,sm, xs 4.空格和没有空格的选择器 二.响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等- 响应式怎 ...

  4. mysql 触发器 trigger用法 four

    实验4 触发器 (1)实验目的 掌握数据库触发器的设计和使用方法 (2)实验内容和要求 定义BEFORE触发器和AFTER触发器.能够理解不同类型触发器的作用和执行原理,验证触发器的有效性. (3)实 ...

  5. Python入门之字符编码

    一.字节编码的基础知识 一.计算机基础知识 #1 我们的程序都是运行在特定的操作系统内,例如window,linux,mac等等#2 运行应用程序,需要要操作系统发出请求,我们双击运行的时候会向操作系 ...

  6. 2018-2019-1 20189218《Linux内核原理与分析》第九周作业

    进程调度的时机 进程调度时机就是内核调用schedule函数的时机.当内核即将返回用户空间时,内核会检查need_resched标志是否设置.如果设置,则调用schedule函数,此时是从中断(或者异 ...

  7. 20145319 《网络渗透》web基础

    20145319 <网络渗透>web基础 实验要求 掌握网页编程的基本知识 html语法 javascript php 前端,后台,数据库之间如何建立连接 掌握数据库的使用 mysql的启 ...

  8. Big Number-Asia 2002, Dhaka (Bengal) (计算位数)题解

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. 【环境搭建】CDH版Hadoop环境搭建

    1.下载组件 首先去CDH网站上下载hadoop组件 地址:http://archive.cloudera.com/cdh5/cdh/5/ 注意版本号要与其他的组件CDH版本一致 2.环境配置 设置主 ...

  10. 51NOD 1069 Nim游戏

    1069 Nim游戏   有N堆石子.A B两个人轮流拿,A先拿.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出 ...