题干:

蒜头君在玩一个战争模拟游戏,他有高度为 1,2,3,\ldots ,n1,2,3,…,n 的炮台各一个,他需要把这 nn 个炮台从左往右排成一行,并且炮口都朝向右边。

在这个游戏中,所有炮台发射的炮弹会摧毁前方所有高度比自己低的炮台。每当蒜头君把 nn 个炮台排成一行后,可能会有一些炮台被摧毁。举个例子:当前有 55 个炮台,从左到右高度分别为 2,1,3,5,42,1,3,5,4,往右发射炮弹后,高度为 44 的炮台被高度为 55 的摧毁,高度为 11 的炮台被高度为 22 的炮台摧毁,最后只会剩下 2,3,52,3,5 这三个炮台。

现在蒜头君想知道,如果随机地摆放这 nn 个炮台,最后剩下炮台个数的期望是多少?比如 n=2n=2 时,有两种摆放方式,高度序列分别为 1,21,2 和 2,12,1,前者最后剩下 22 个炮台,后者最后剩下一个炮台,因此期望为 {(2+1)\over 2}=1.50002(2+1)​=1.5000。

请你求出 n=2019n=2019 时剩下炮台个数的期望,保留四位小数。

样例输入复制

样例输出复制

解题报告:

有n个位置,不同的位置摆放不同的数,共有 n! 的排列。对于留存的炮台数的期望,可以对每一个数留存下来的概率进行累加从而得到期望值。比如最大的数,无论放在哪,留存下的概率都为1。第二大的数,如果最大的数放在其前面会被摧毁,而放在后面不会被摧毁,所以留存的概率为。最小的数除了放在第一个位置,其余位置都会被摧毁,所以留存的概率为,所以期望为。代入n=2019即可算出答案

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
const ll mod = 1e9+7;
int main()
{double ans = 0;int n = 2019;for (int i = 1; i <= n; i++) {ans += 1.0 / i;}printf("%.4f\n", ans);return 0;}

【计蒜客 - 蓝桥训练】炮台实验(数学期望,期望dp)相关推荐

  1. 【计蒜客 - 蓝桥训练】欧拉函数(数学,数论,模板)

    题干: 在数论中,对正整数 nn,欧拉函数 \varphi (n)φ(n) 是小于等于 nn 的正整数中与 nn 互质的数的数目. 例如 \varphi (12)=4φ(12)=4,因为 1,5,7, ...

  2. 【计蒜客 - 蓝桥训练】阶乘位数(数学,对数运算,求阶乘位数)

    题干: 蒜头君对阶乘产生了兴趣,他列出了前 1010 个正整数的阶乘以及对应位数的表: nn n!n! 位数 1 1 1 2 2 1 3 6 1 4 24 2 5 120 3 6 720 3 7 50 ...

  3. 【计蒜客 - 蓝桥训练】蒜厂年会(单调队列优化dp,循环数列的最大子段和)

    题干: 在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币.但是这个游戏比较坑,里面竟然有负数,表示你要支付多少蒜币.因为这些数字都是可见的,所 ...

  4. 【计蒜客 - 蓝桥训练】修建公路(贪心,或运算,dp)

    题干: 蒜头国有 nn 座城市,编号分别为 0,1,2,3,\ldots,n-10,1,2,3,-,n−1.编号为 xx 和 yy 的两座城市之间如果要修高速公路,必须花费 x|yx∣y 个金币,其中 ...

  5. *【计蒜客 - 蓝桥训练】人以群分(二分 + dp)

    题干: 某班有 nn 个同学,每个同学有一个外向程度 a_iai​.由于要进行某个活动,需要把他们分成若干个小组,每个小组的人数至少为 mm 人.不同外向程度的人在一个小组会产生不开心值,定义一个小组 ...

  6. 【计蒜客 - 蓝桥训练】轻重搭配(贪心,STLset 或 二分)

    题干: n 个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为 xx 的人可以和体重至少为 2x2x 配对,这样两人只需买一张票.现在给出了 nn 个人的体重,请你计 ...

  7. [计蒜客(蓝桥杯省赛)]蒜头君的购物袋2

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 DP 题目描述 思路 01背包模板 题目代码 #include<iostream> #include<climits> ...

  8. 计蒜客 ACM训练联盟周赛 第一场 从零开始的神棍之路 暴力dfs

    题目描述 ggwdwsbs最近被Zeratul和Kyurem拉入了日本麻将的坑.现在,ggwdwsbs有13张牌,Kyurem又打了一张,加起来有14张牌.ggwdwsbs想拜托你帮他判断一下,这14 ...

  9. 计蒜客蓝桥杯模拟赛5 引爆炸弹【并查集】

    在一个 n×m 的方格地图上,某些方格上放置着炸弹.手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去. 现在为了引爆地图上的所有炸弹,需要手动 ...

最新文章

  1. 解决selenium报错--unknown error: DevToolsActivePort file doesn‘t exist
  2. CentOS 7 + MySql 中文乱码解决方案
  3. 逆波兰表达式简单介绍
  4. 【Flink】Flink SQL 架构 以及 执行逻辑
  5. srsLTE源码学习:MAC层抓包pcap
  6. ubuntu 网络设置
  7. matlab eps是什么
  8. @scheduled注解配置时间_「玩转SpringBoot」用好条件相关注解,开启自动配置之门...
  9. mysql 判断指定条件数据存不存在,不存在则插入
  10. python科学计算库-Scipy,主要讲解优化,方程求解,积分,蒙特卡洛,插值计算
  11. 计算机网络原理-计算题汇总
  12. Grafana v5.2 设置
  13. matlab 冒泡排序函数,MATLAB实现冒泡排序算法
  14. Hi3519av100 编译kernel
  15. Realtek网卡抓取带VLAN tag的报文相关设置方法
  16. 易语言精易web浏览器填表
  17. android手机home键,手机Home键在哪里?手机Home键是什么意思?
  18. 音乐播放器mplayer的简单使用
  19. 文件管理之文件的逻辑结构
  20. 中国创业的孵化器和加速器

热门文章

  1. c语言实现socket转json,C++解析JSON进行网络传输--一个通过JSON方式的socket传输
  2. drive es 软件兼容_某知名软件被完美修改!对不住了!
  3. outlook2013邮箱找不到服务器,outlook发邮件总提示找不到
  4. java c++ python哪个好_程序员学java好还是python语言好 c++又如何
  5. 审计署计算机培训心得体会,审计署计算机中级培训心得体会2018
  6. php仿微信上传图片压缩,PHP仿微信多图片预览上传实例代码
  7. java.nio.file 找不到_java - 断言该错误:无法访问路径(找不到java.nio.file.Path) - 堆栈内存溢出...
  8. nginx 上传 文件超时设置_Nginx在高并发下的性能优化点!有这篇就够了!
  9. please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法
  10. 服务器怎么用光驱装系统教程,使用光驱重装系统详细教程