这是一道求组合的题。中文题面应该能看懂,废话不多说下面来说说这道题。

可以选的总组合数是Ck3

那么选到3个人的关系都相同,要么都认识,要么都不认识。可以重反面来考虑,就是求三个人的关系不都相同。

那么对于第一个人有guanxi[1]个与他认识有k-guanxi[1]-1个与他不认识,那么符合三个人关系不都相同的种数为(k-guanxi[1]-1)*guanxi[1];

同理对于后面的人也是这样的。

最后把这些种数加起来,这里面肯定有重复的,比如A与B认识与C不识,B与C相识,计算A时的组合为ABC,计算B时的组合为0,计算C时组合为CBA,

那么就有重复了。

因为每两个人只会对应一种关系所以A与B认识,在选A时选了AB,然后再加个不认识的C,在选B时如果有BAC这个组合,那么说明C与B的关系是不识,那么当在选C时

就不可能再选到ABC这组合,如果在选C时存在ABC,说明C认识B,那么在选B时就不可能有ABC了。所以这样的话就是每个组合都重复了以次,所以总得不符合个数/2就为不符合的实际个数。

那么问题就解决了为总的组合数-实际不符合的个数。

下面看代码:

 1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 #include<math.h>
5 typedef long long ll;
6 double guanxi[2000];
7 int main(void)
8 {
9 int i,j,k,p,q,n;
10 double x,y;
11 scanf("%d",&n);
12 while(n--)
13 {
14 scanf("%d",&k);
15 ll dd=0;
16 for(i=0; i<k; i++)
17 {
18 scanf("%lf",&guanxi[i]);
19 dd+=(k-guanxi[i]-1)*guanxi[i];
20
21 }
22 ll x1=k*(k-1)*(k-2)/6;//总的组合数
23 double x2=x1-dd/2;//dd/2为实际不符合的个数。
24 x=1.0*x2/(1.0*x1);
25 printf("%.3f\n",x);
26 }
27 return 0;
28
29 }

hdu 4503 湫湫系列故事——植树节(组合概率)的更多相关文章

  1. HDUOJ---4503 湫湫系列故事——植树节

    湫湫系列故事——植树节 Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  2. HDU 4532 湫秋系列故事——安排座位 (组合+DP)

    湫秋系列故事——安排座位 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)To ...

  3. HDU 4539郑厂长系列故事――排兵布阵(状压DP)

    HDU 4539  郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 //#pragma co ...

  4. 2013腾讯编程马拉松初赛第〇场(HDU 4503) 湫湫系列故事——植树节

    http://acm.hdu.edu.cn/showproblem.php?pid=4503 题目: 已知湫湫的班里共有n个孩子,每个孩子有Bi个朋友(i从1到n),且朋友关系是相互的,如果a小朋友和 ...

  5. HDU 4539 郑厂长系列故事——排兵布阵

    http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...

  6. HDU 4508 沼泽湿地系列故事——记住减肥I (2013腾讯编程马拉松预赛第一)

    pid=4508">http://acm.hdu.edu.cn/showproblem.php?pid=4508 题目大意: 给定一些数据. 每组数据以一个整数n開始,表示每天的食物清 ...

  7. HDU 4529 郑厂长系列故事——N骑士问题 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/O ...

  8. HDU 4539 郑厂长系列故事——排兵布阵 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...

  9. hdu 4506 小明系列故事——师兄帮帮忙【幂取模乱搞】

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4506 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  10. hdu 4512 吉哥系列故事——完美队形I【LCIS经典应用】

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4512 http://acm.hust.edu.cn/vjudge/contest/view.action ...

随机推荐

  1. adjective

    形容词用来描述名词或代词:副词用来描述剩下的(动词.形容词.副词和整句).adverb: to word. Adjectives are used almost exclusively to modi ...

  2. Spark基础:(五)Spark编程进阶

    共享变量 (1)累加器:是用来对信息进行聚合的,同时也是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变.累加器的一个常见用途是在调试时对作业执 ...

  3. Flume(四)【配置文件总结】

    目录 一.Agent 二.Source taildir arvo netstat exec spooldir 三.Sink hdfs kafka(待续) hbase(待续) arvo logger 本 ...

  4. db9串口接头的定义

    这个接头都是以公头为准,所有接头还是以公头去记. RS-232端(DB9公头/针型)引脚定义 2: RXD 3:TXD 5:GND 1/4/6:内部相链接 7/8   :内部相链接 1.RS-232端 ...

  5. web管理的Powerdns

    在powerdns服务器上安装相应的包(基于epel源) [root@powerdns ~]# yum install pdns pdns-backend-mysql -y 在master-maira ...

  6. elasticSearch索引库查询的相关方法

    package com.hope.es;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.c ...

  7. 【Java基础】transient关键字

    1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过 ...

  8. 走进Spring Boot源码学习之路和浅谈入门

    Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...

  9. [BUUCTF]PWN——babyheap_0ctf_2017

    [BUUCTF]PWN--babyheap_0ctf_2017 附件 步骤: 例行检查,64位,保护全开 试运行一下程序,看到这个布局菜单,知道了这是一道堆的题目,第一次接触堆的小伙伴可以去看一下这个 ...

  10. [BUUCTF]REVERSE——[2019红帽杯]easyRE

    [2019红帽杯]easyRE 附件 步骤: ida载入,没有main函数,就先检索了程序里的字符串 发现了base64加密的特征字符串,双击you found me跟进,找到了调用它的函数,函数很长 ...