http://acm.zznu.edu.cn/problem.php?id=1964

题目描述

输入

输出

样例输入

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

样例输出

0.500
1.125

提示

之前想了一个公式  就是0.5*pow(0.5,k)*C(k,n);

k是至少认识k个人   n是认识n个人

后来队友都把所有的东西都写出来了我才去验证第二个测试数据  发现是错的  当时真的想自己从五楼上跳下来

正确的公式应该是

for(i=k;i<=n;i++)

{

  ans+=0.5*pow(0.5,n)*C(i,n);

}

现在想想真是很有道理啊

当时为啥就是蒙蔽呢

#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cmath> using namespace std; int num[];
int x1[];
int x2[];
int s[][]; void Init(int n)
{
memset(s, , sizeof(s));
for(int i=; i<=n; i++)
{
int x=i;
for(int j=; j<=i; j++)
{
if(x%j==)
{
s[i][j]++;
x/=j;
j--;
}
}
}
} long long c(int n, int k)
{
memset(x1, , sizeof(x1));
memset(x2, , sizeof(x2));
for(int i=; i<=k; i++)
{
for(int j=; j<=i; j++)
{
x1[j] += s[i][j];
}
}
for(int i=n-k+; i<=n; i++)
{
for(int j=; j<=i; j++)
{
x2[j] += s[i][j];
}
}
for(int i=; i<=; i++)
{
x2[i]-=x1[i];
}
long long ans=;
for(int i=; i<=; i++)
{
for(int j=; j<=x2[i];j++)
{
ans*=i;
}
}
return ans;
} double solve(int n, int k)
{
double ans=;
for(int i=k;i<=n;i++)
{
ans += 0.5*c(n, i)*pow(0.5, n);
} return ans;
} int main()
{
int t;
int n, k;
int x;
scanf("%d", &t);
Init();
while(t--)
{
scanf("%d%d", &n, &k);
for(int i=; i<=n; i++)
{
int sum1=;
for(int j=; j<=n; j++)
{
scanf("%d", &x);
if(x==)
sum1++;
}
num[i]=sum1;
}
double ans=;
for(int i=; i<=n; i++)
{
if(num[i]>=k)
{
ans+=solve(num[i],k);
}
}
printf("%.3lf\n", ans);
} return ;
}

2015轻院校赛 D 社交网络(排列组合)的更多相关文章

  1. 2015轻院校赛 B 迷宫 (bfs)

    http://acm.zznu.edu.cn/problem.php?id=1967 这套题的有毒   我交了好多遍才对 坑:机关要按照顺序走 并且在走这个机关之前不能走这个机关  但是能穿过这个机关 ...

  2. 【DFS+堆的二叉树结构】15轻院校赛-J-堆

    [题目链接:J-堆] 1734: 堆 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 239  Solved: 113 SubmitStatusWeb B ...

  3. 轻院校赛-zzuli 2266: number【用每位的二进制的幂的和来进行hash(映射)处理】

    zzuli 2266: number 大致题意:   给定n,问有多少数对<x, y>满足: x, y∈[1, n], x < y            x, y中出现的[0, 9] ...

  4. 【二叉树、堆】15轻院校赛-J-堆

    原题:http://acm.zzuli.edu.cn/problem.php?cid=1099&pid=9 [描述] [输入] [输出] Sample Input 3 1 10 3 10 5 ...

  5. Digit Division(排列组合+思维)(Gym 101480D )

    题目链接:Central Europe Regional Contest 2015 Zagreb, November 13-15, 2015 D.Digit Division(排列组合+思维) 题解: ...

  6. 【COGS】2287:[HZOI 2015]疯狂的机器人 FFT+卡特兰数+排列组合

    [题意][COGS 2287][HZOI 2015]疯狂的机器人 [算法]FFT+卡特兰数+排列组合 [题解]先考虑一维的情况,支持+1和-1,前缀和不能为负数,就是卡特兰数的形式. 设C(n)表示第 ...

  7. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

  8. .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)

    今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinatorics组件的使用情况,其实这个组件我5年前就开始用了,非常方便,麻雀虽小五脏俱全.所以一直非常喜欢,才写了几 ...

  9. 【原创】开源.NET排列组合组件KwCombinatorics使用(三)——笛卡尔积组合

           本博客所有文章分类的总目录:本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 KwCombinatorics组件文章目录: 1. ...

随机推荐

  1. Can't locate ExtUtils/MakeMaker.pm in @INC

    Can't locate ExtUtils/MakeMaker.pm in @INC 解决办法:yum install perl-devel

  2. Android主题更换换肤

    知识总览android主题换肤通常借助LayoutInflater#setFactory实现换肤. 换肤步骤: 通过解析外部的apk压缩文件,创建自定义的Resource对象去访问apk压缩文件的资源 ...

  3. 树状数组 || POJ 2352 Stars

    Astronomers often examine star maps where stars are represented by points on a plane and each star h ...

  4. manjaro利用docker使用MySQL

    使用docker安装MySQL并使用 安装docker: sudo yaourt -S docker 使用docker安装mysql: systemctl start docker # 启动docke ...

  5. python interview questions

    referce:python interview questions top 50 refercence:python interview questions top 15 summary Q: wh ...

  6. swift中的as?和as!

    as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as 选项形式(as?)的操作执行转换并返回期望类型的一个选项值,如果 ...

  7. spring注解开发-扩展原理(源码)

    1.BeanFactoryPostProcessor BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的; BeanFactoryPostProcesso ...

  8. js检测对象是否是数组

    js检测对象是否是数组 可以通过instanceof 方法一. var arr=[] arr instanceof Array   //true var obj={} obj instanceof A ...

  9. spring tool suite (sts) 创建springmvc(没有实践)

    摘自:STS(Spring Tool Suite)建立默认的spring mvc项目 老外的原创,网址:http://www.codejava.NET/frameworks/spring/spring ...

  10. fshc模块fsch2mcu_if理解

    fshc2mcu_if中包括ahb2reg/ahb2fifo两个文件,都是协议转换文件.ahb2reg下游文件是reg files,ahb2fifo下游文件是fifo控制器.所有的配置和flag都是要 ...