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. Java进化的尽头

    转载需声明:原文链接网址:http://www.artima.com/weblogs/viewpost.jsp?thread=221903 Java: Evolutionary Dead End 我在 ...

  2. SEO 第八章

    SEO第八章 本次课目标: 1.  网站外部优化的外链优化 2.  网站流量分析 1.  什么叫做外链? 外链也叫反向链接,指的是从别的网站指向我自己的网站的链接. 2.  外链的作用? l  外链可 ...

  3. github 下载全部项目

    从github下载资料过程中,有些项目含有子模块,有时通过git clone 或者下载zip方式项目可能会缺少文件,因此需要执行 git submodule update --init --recur ...

  4. uva10366 Faucet Flow

    每次找到两边离中心最高的板,如果等,再找外围的最高版...画图便于理解两边先找到距离(-1,1)最近的最大值L和R,因为可能存在多个最高的挡板.接着比较两个L和R的大小,相等的话分别分析两边,取最小值 ...

  5. vue 数据没有驱动视图?

    Part.1  问题 数据改变,视图却没有根据数据而改变. 原因在于,数据并不在 vue 监听范围之内,vue 只对事先在 data 中声明的变量丶对象等类型数据进行监听 Part.2  例子 < ...

  6. unnamed not found for the web module

    intellij idea tomcat 启动报错not found for the web module 使用intellij idea 创建tomcat项目的时候会出现该错误: 启动tomcat的 ...

  7. 日常[系统]:Linux新人报到(吐槽%&%……&¥……%

    昨天换了系统,从win7换到了NOIP必须面对的Linux系统. 不得不说,真的很不适应.原本右上角的三个按钮变到了左上角. 可爱的DEVCPP被无情的抛弃了. 又用不惯guide,只好用文本编辑器写 ...

  8. Win10任务栏搜索框无法搜索,显示白色页面

    如果确定: Windows search服务启动打开 %LocalAppData%\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\Local ...

  9. Sqlserver添加加字段、删除字段、修改字段类型、修改字段名、修改字段默认值

    参考:https://www.cnblogs.com/pangpanghuan/p/6432331.html 初始化表: --.添加字段 --1.1.为null alter table DataTab ...

  10. 生产环境屏蔽swagger(动态组装bean)

    spring动态组装bean 背景介绍: 整合swagger时需要在生产环境中屏蔽掉swagger的地址,不能在生产环境使用 解决方案 使用动态profile在生产环境中不注入swagger的bean ...