本文共 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=1∑n(bi−n1i=1∑nbi)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,再对金额进行排序。#includeusing 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/