博客
关于我
2018蓝桥杯C++A组——付账问题
阅读量:111 次
发布时间:2019-02-26

本文共 772 字,大约阅读时间需要 2 分钟。

目录

问题描述

【题目描述】

在这里插入图片描述
s = 1 n ∑ i = 1 n ( b i − 1 n ∑ i = 1 n b i ) 2 s=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\left ( b_i-\frac{1}{n}\sum_{i=1}^{n}b_i \right )^2} s=n1i=1n(bin1i=1nbi)2

【输入】

在这里插入图片描述
【输出】
在这里插入图片描述
【样例输入】

5 2333666 666 666 666 666

【样例输出】

0.0000

题目解析

我们可以简单分析一下,若能让每个人在够付账的情况下付的金额尽可能集中就可以使得标准差最小。

举个例子假如 n = 10 , S = 30 n=10,S=30 n=10,S=30,每个人金额分别为 1 , 2 , 3 , 4 , 4 , 4 , 6 , 7 , 7 , 8 1,2,3,4,4,4,6,7,7,8 1,2,3,4,4,4,6,7,7,8,先求出均值 a v g = 4.6 avg=4.6 avg=4.6,再对金额进行排序。

  1. 当金额小于均值时需要付出所有的钱;
  2. 当金额大于或等于均值时,这个人以及之后的所有人都需要在第一步完成的基础上重新计算均值即为 c u r _ a v g cur\_avg cur_avg

C++代码

#include
using namespace std;typedef long long LL;int n;LL S;double ans,avg;void work(){ scanf("%d %lld",&n,&S); ans = 0.0; avg = 1.0*S/n; //总平均值 LL *a = new LL[n]; //存储数据 for(int i=0;i

结果

在这里插入图片描述

转载地址:http://swqu.baihongyu.com/

你可能感兴趣的文章
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>