“清明时节雨纷纷,路上行人欲断魂。”

然而wfy同学的心情是愉快的,因为BNU ACM队出去春游啦!并且,嗯。。。

以下是wfy同学的日记:

昨天,何老师告诉我们:明天我们去春游,大家准备好喝的和吃的哦!

大家听了都兴奋起来,有的欢呼,有的鼓掌,开心得不得了。第二天,我们早早地来到学校,迫不及待地上了车,来到了公园。一进门,啊,太美了!公园中有那么多树,有高有矮,有粗有瘦,密密的,在春风吹拂下轻轻摇摆着,像是欢迎我们的到来。公园中有那么多的鲜花,有红有黄,有紫有白,散发着淡淡的清香,闻得我们都醉了。公园的边角上有一条清澈的小河,河水缓缓地流淌着,可以看到水里的鱼儿在快活地游来游去,多自在啊!水草碧绿碧绿的,多新鲜啊!小河的旁边是一片小树林,远远望去一片鲜绿。我们在里面吃东西、做游戏、捉迷藏,玩得疯极了。树林的后面是连绵起伏的小山坡,蜿蜿的真像一条游动的蛇。当然,我觉得公园的天空也很美。它万里无云,一碧如洗,很清澈。小鸟在展翅飞翔,它们形态各异,一会儿上升,一会儿下滑,一会儿吃虫,一会儿在小树林里休息,非常悠闲。快乐时光总是那么短暂,很快,天色就昏暗了。我们依依不舍地上了车,回到了学校,我真希望明年的春天还能再来看看这美丽的公园。
回到学校后,何老师说:请大家排成一排,我们来拍照片啦!

何老师特别喜欢萌的东西,比如**,比如****,等等。

何老师认为,同学们站成一排时,相邻两个同学身高相差越多,这两个同学站在一起越萌。

那么所有相邻两个同学的身高差加起来越大,拍出来的照片就越萌,也就是这张照片的萌力指数。

何老师希望拍出来的照片的萌力指数尽可能大。

然而何老师并不是数学老师,而是语文老师。何老师觉得很GG。

何老师只想知道,如果让同学们随便站成一排(站成所有排列的可能性都相等),萌力指数的数学期望是多少。

聪明的我一下子就算出了答案,然后何老师就奖励了我一个很萌的礼物。

今天真的好开心。

BNU ACM队共有名同学,身高分别是,聪明的你能计算出何老师想要的数学期望吗?

 

Input

第一个是一个正整数,表示测试数据的组数,

每组测试数据只有一行,包含一个整数

 

Output

对于每组测试数据,输出一行,包含一个实数,表示萌力指数的数学期望值,要求相对误差不超过

也就是说,令输出结果为,标准答案为,若满足,则输出结果会被认为是正确答案。

 

Sample Input

2
2
3

Sample Output

1.000000000000
2.666666666667

Hint

对于第二组样例,所有可能的排列是[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1],所以答案是

思路;

(1)多写几个样例,找规律。2的时候3/3;3的时候8/3;4的时候15/3;5的时候24/3;6的时候35/3,可以发现n的时候就是((n*n)-1)/3即n方减一

 1 #include <iostream>
2 #include <iomanip>2
3 using namespace std;
4 int main()
5 {
6 int t;
7 cin>>t;
8 while(t--)
9 {
10 int n;
11 cin>>n;
12 cout<<fixed<<setprecision(12)<<((n*n)-1.0)/3.0<<endl;
13 }
14 return 0;
15 }

(2)另一种思考方式(重点),由于是全排列,对于n个数,总共有n*(n-1)/2种形式的差,且每种差出现次数相同,两重for循环即可求出所有形式的差出现一次的和sum,那么求出每种差出现的次数就可以求出差的总和。由于每一种顺序有n-1种差,有n!种序列,所以每次出现的次数为:n!*(n-1)/(n*(n-1)/2)=2*(n-1)!所以和即为:(sum*2*(n-1)!)/n! = sum*2/n即为答案。

数学期望是求np的和,这里的n就是每种排列差的和,p就是每种排列的概率。而一般全排列的题找思路都需要改变p的对象。这里就是把每种排列的概率转换为了每种形式的差的概率为p = 2 / n 而此时n的和为 = sum,所以np = sum * 2 / n即为答案。

 1 #include<bits/stdc++.h>
2 using namespace std;
3
4 typedef long long ll;
5
6 const int N=1000010;
7 const int mod=1e9+7;
8 const int Max=0x3f3f3f3f;
9
10 ll ans[N];
11 char ch[N];
12
13 int main()
14 {
15 int T;
16 cin>>T;
17 while(T--)
18 {
19 int i,j;
20 ll sum=0;
21 int n;
22 cin>>n;
23 for(i=n;i>=1;i--)
24 {
25 for(j=1;j<=n;j++)
26 {
27 if(i>j)
28 sum+=(i-j);
29 }
30 }
31 double ans=(2.0*sum)/n;
32 cout<<fixed<<setprecision(12)<<ans<<endl;
33 }
34 return 0;
35 }

参考博客:戳这里

bnuoj-53073 萌萌哒身高差 【数学】【非原创】的更多相关文章

  1. 北京师范大学第十六届程序设计竞赛决赛 C萌萌哒身高差

    链接:https://www.nowcoder.com/acm/contest/117/C来源:牛客网 萌萌哒身高差 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他 ...

  2. Linux下high CPU分析心得【非原创】

    非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高ga ...

  3. Pie(求最小身高差,dp)

    Pie Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. CSS样式命名整理(非原创)

    非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体 ...

  5. 非原创。使用ajax加载控件

    非原创.来自博客园老赵. public class ViewManager<T> where T : System.Web.UI.UserControl { private System. ...

  6. L1-040 最佳情侣身高差

    专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最和谐的差度. 下面就请你写个程序,为任意一 ...

  7. Java 表达式解析(非原创)

    因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: import java.util.ArrayList; imp ...

  8. Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创)

    Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创) 由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量.因而inter ...

  9. 团体程序设计天梯赛-练习集-L1-040. 最佳情侣身高差

    L1-040. 最佳情侣身高差 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09=(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最和谐的差度. ...

随机推荐

  1. python中hmac模块的使用

    hmac(hex-based message authentication code)算法在计算哈希的过程中混入了key(实际上就是加盐),和hashlib模块中的普通加密算法相比,它能够防止密码被撞 ...

  2. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析

    作为后台服务开发,在日常工作中我们天天都在跟数据库打交道,一直在进行各种CRUD操作,都会使用到数据库连接池.按照发展历程,业界知名的数据库连接池有以下几种:c3p0.DBCP.Tomcat JDBC ...

  3. Devexpress DockManager多页面浮动窗口会关闭所有页面的问题

    注册 DockManager 的 ClosingPanel 事件 private void DockManager1_ClosingPanel(object sender, DockPanelCanc ...

  4. jQuery 实现复制功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. JAVA高并发集合详解

    Queue(队列)主要是为了高并发准备的容器Deque:双端队列,可以反方向装或者取 最开始jdk1.0只有Vector和hashtable 默认所有方法都实现了synchronized锁,线程安全但 ...

  6. 我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法

    我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法 一.介绍 最近,我在写有关使用 Jenkins 搭建企业级持续集成环境的文章,准备了四台服务器,企业级别嘛,一台就 ...

  7. https://www.hutool.cn/ 糊涂

    一个Java基础工具类,对文件.流.加密解密.转码.正则.线程.XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件: 模块 介绍 hutool-aop JDK动态代理封装,提供非IO ...

  8. django 请求处理流程 链路追踪

    class BaseMiddleware: # https://github.com/django/django/blob/master/tests/utils_tests/test_decorato ...

  9. 洛谷P2865

    感觉此题可作为严格次短路的模板,因此来写一写 Description 给定 \(n\) 个点,\(r\) 条双向道路,求从 \(1\) 号点到 \(n\) 号点的严格次短路 Solution 维护两个 ...

  10. Azure Terraform(八)利用Azure DevOps 实现Infra资源和.NET CORE Web 应用程序的持续集成、持续部署

    一,引言 上一篇讲解到利用 Azure DevOps 将整个 Azure Web App,Azure Traffic Manager profile,Azure Storage Account,Azu ...