【NOIP practice】BSOJ 3851 计算概率 智力题——加法原理
来源:互联网 发布:搜狗拼音linux安装 编辑:程序博客网 时间:2024/05/16 17:14
3851 -- 【模拟试题】计算概率
Description
小明有n个长度不一的小木棍,这些木棍的长度都是正整数。小明的父亲想和小明做一个游戏。他规定一个整数长度l,让小明闭着眼睛从n个木棍中随便拿出两个。如果两个木棍的长度总和小于等于l,则小明胜,否则小明的父亲胜。小明想知道他胜出的概率究竟有多大。
Input
输入包含两行。第一行为两个整数n和l,其中n和l都不超过100000。第二行包含n个整数,分别为n个木棍的长度。
Output
输出包含一个实数,小明胜出的概率,保留两位小数。
Sample Input
4 5
1 2 3 4
Sample Output
Description
小明有n个长度不一的小木棍,这些木棍的长度都是正整数。小明的父亲想和小明做一个游戏。他规定一个整数长度l,让小明闭着眼睛从n个木棍中随便拿出两个。如果两个木棍的长度总和小于等于l,则小明胜,否则小明的父亲胜。小明想知道他胜出的概率究竟有多大。
Input
输入包含两行。第一行为两个整数n和l,其中n和l都不超过100000。第二行包含n个整数,分别为n个木棍的长度。
Output
输出包含一个实数,小明胜出的概率,保留两位小数。
Sample Input
4 5
1 2 3 4
Sample Output
0.67
看看数据范围发现(n^2)/2算法是过不了的..
其实这道题就是一个水水的加法原理,先排序,插入i=1,j=n两根指针,若a[i]+a[j]<=l,则从i->中间的所有数+a[i]都是符合要求的,首指针+1,否则把尾指针-1,加一个统计就好了。
这里我把时间复杂度减了一点,没有让i-->n,j-->1,而只是让i-->j,那么总的可能性就是高斯求和了。
注意数据范围,可能int溢出了,一怒之下直接把int替换成long long 了,所以不大美观。
#include<iostream>#include<iomanip>#include<cstring>#include<cmath>#include<algorithm>#include<cstdio>using namespace std;long long n,l,a[1000005]={0},cnt=0;int main(){scanf("%d%d",&n,&l);for(long long i=1;i<=n;i++)scanf("%d",a+i);sort(a+1,a+n+1);long long i=1,j=n;while(i<j){if(a[i]+a[j]<=l){cnt+=j-i;i++;}else j--;}long long total_possibilities=n*(n-1)/2;printf("%.2lf",(double)cnt/total_possibilities);return 0;}
0 0
- 【NOIP practice】BSOJ 3851 计算概率 智力题——加法原理
- 【NOIP practice】BSOJ 1947 编码 递推
- 【NOIP practice】BSOJ 3140 冲出亚洲 模拟
- 【NOIP practice】 BSOJ1295 洗牌 智力题
- 【NOIP practice】BSOJ 1097 拯救博士 扫描法
- 【NOIP practice】BSOJ 2265 最大利润 树形动规
- 【NOIP practice】BSOJ 2998修复公路 最小生成树
- 【NOIP practice】BSOJ 3132 卡扎菲 并查集
- 【NOIP practice】BSOJ 1709 守望者的烦恼 矩阵快速幂优化递推
- 暑假NOIP笔记—代数+数位统计+概率+博弈论
- 高精度计算——加法&&减法
- 蓝桥杯算法提高——概率计算(概率dp)
- 数学概率智力题
- 面试——智力题
- 笔试—智力题
- BSOJ 4685 DOG进游戏 回顾——KMP
- 蓝桥杯—阶乘计算 ,高精度加法 ,Huffuman树
- 条件随机场(2)——概率计算
- Java程序员面试中的多线程问题
- bat使用
- [数据挖掘理论与案例] 大数据的4个V
- Android布局优化一之设计篇
- Centos6/7下静默安装oracle10g
- 【NOIP practice】BSOJ 3851 计算概率 智力题——加法原理
- java调用vs2013编写的dll动态库
- 网易笔试题:浏览器中输入一个url后回车到返回页面信息的过程
- 苹果官方iPhone应用高级开发课程(16集)
- web标准的理解
- Java开发人员必须知道和了解的案头网站
- CentOS 7 上安装 Docker与其它后续操作
- 南京理工大学第八届程序设计大赛 sequence Dilworth定理
- OC字符串