hdu 4503 湫湫系列故事——植树节(组合概率)
这是一道求组合的题。中文题面应该能看懂,废话不多说下面来说说这道题。
可以选的总组合数是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 湫湫系列故事——植树节(组合概率)的更多相关文章
- HDUOJ---4503 湫湫系列故事——植树节
湫湫系列故事——植树节 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- HDU 4532 湫秋系列故事——安排座位 (组合+DP)
湫秋系列故事——安排座位 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- HDU 4539郑厂长系列故事――排兵布阵(状压DP)
HDU 4539 郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 //#pragma co ...
- 2013腾讯编程马拉松初赛第〇场(HDU 4503) 湫湫系列故事——植树节
http://acm.hdu.edu.cn/showproblem.php?pid=4503 题目: 已知湫湫的班里共有n个孩子,每个孩子有Bi个朋友(i从1到n),且朋友关系是相互的,如果a小朋友和 ...
- HDU 4539 郑厂长系列故事——排兵布阵
http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...
- HDU 4508 沼泽湿地系列故事——记住减肥I (2013腾讯编程马拉松预赛第一)
pid=4508">http://acm.hdu.edu.cn/showproblem.php?pid=4508 题目大意: 给定一些数据. 每组数据以一个整数n開始,表示每天的食物清 ...
- HDU 4529 郑厂长系列故事——N骑士问题 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/O ...
- HDU 4539 郑厂长系列故事——排兵布阵 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...
- hdu 4506 小明系列故事——师兄帮帮忙【幂取模乱搞】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4506 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- hdu 4512 吉哥系列故事——完美队形I【LCIS经典应用】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4512 http://acm.hust.edu.cn/vjudge/contest/view.action ...
随机推荐
- 巩固javaweb第十七天
巩固内容: 文本域 文本域主要用于输入多行文字,如果输入的文字比较多,则可以采用文本域. 文本域的基本格式如下: <textarea rows="行数" name=" ...
- add more
# -*- coding: utf-8 -*- print('123', 123) print(type('123'), type(123)) # string, integer /ˈintidʒə/ ...
- day08 索引的创建与慢查询优化
day08 索引的创建与慢查询优化 昨日内容回顾 视图 视图:将SQL语句查询结果实体化保存起来,方便下次查询使用. 视图里面的数据来源于原表,视图只有表结构 # 创建视图 create view 视 ...
- Copy constructor vs assignment operator in C++
Difficulty Level: Rookie Consider the following C++ program. 1 #include<iostream> 2 #include&l ...
- Linux:cut命令...未完待续
一.定义 正如其名,cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的.cut是以每一行为一个处理对象的,这种机制和sed是一样的. 2.剪切依据 cut命令主要是接受三 ...
- spring boot springMVC扩展配置 。WebMvcConfigurer ,WebMvcConfigurerAdapter
摘要: 在spring boot中 MVC这部分也有默认自动配置,也就是说我们不用做任何配置,那么也是OK的,这个配置类就是 WebMvcAutoConfiguration,但是也时候我们想设置自己的 ...
- 【Python】CV2的一些基本操作
·导入: import cv2 ·读取图片: img = cv2.imread('路径') 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整 ...
- 【C/C++】输入:连续输入,以逗号隔开
连续输入,以空格或者以逗号隔开,换行符结束 [范例]输入 23 12 34 56 33或者 23,12,34,56,33 则 vector<int> data; int tmp; whil ...
- [笔记] Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
原文地址:https://arxiv.org/abs/2012.07436 源码地址:https://github.com/zhouhaoyi/Informer2020
- Java动态脚本Groovy,高级啊!
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚 ...