题目背景

在新的一年,mxj给俱乐部的孩子们准备了一堆的礼物,它生成了一个随机数列表a,使得第i个人会得到a[i]件礼物。
但是,因为某些人得到的礼物太多,为了公平起见,mxj建议大家把礼物平均分配。

题目描述

大家围成了一个圈,每个人可以向他左边或者右边的人传递礼物,问,至少传递多少件礼物,
才能让每个人得到的礼物件数相同呢?(保证礼物总数是人数n的倍数)

输入格式:

第一行输入一个正整数n,表示俱乐部成员的个数。

接下来有n行,每行一个整数a[i],表示第ii个成员初始得到的礼物的件数。

输出格式:

输出一个整数,表示至少需要传递多少件礼物。

输入样例:

4
1
2
5
4

输出样例:

4
思路
原来礼物数为a1,a2,……,`an.
最终的礼物数为这些数的平均值,设为A
xi表示 i+1 给 i 的礼物个数
a1-xn+x1=A
a2-x1+x2=A
a3-x2+x3=A
a4-x3+x4=A

an+x(n-1)-xn=A
则:
x1=A-a1+xn
x2=2A-(a2+a1)+xn
x3=3
A-(a3+a2+a1)+xn

xn=nA-(an+an-1+…a2+a1)+xn
在这里可以求前缀和:令Si=(a1+a2+…ai)-i
A 则xi=xn-Si
最后的结果ans=|x1|+|x2|+|x3|+…|xn|=|xn-Si|(i从1到n求和)
结果就是求|xn|+|xn-S1|+|xn-S2|+…+|xn-S[n-1]|的最小值,即xn取中位数

#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
#define maxn 1000000
int a[maxn+5];
int main()
{int n;long long int sum=0,t,ans=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}sum/=n;    //求平均值a[0]-=sum;for(int i=1;i<n;i++)a[i]=a[i]+a[i-1]-sum;  //求前缀和
;    sort(a,a+n);   //去中位数可以从小到大排序 去中间值t=a[n/2];    for(int i=0;i<n;i++)ans+=abs(t-a[i]);printf("%lld\n",ans);return 0;
}

均分纸牌模型之mxj分礼物相关推荐

  1. 机器学习中模型参数和模型超参数分别是什么?有什么区别?

    机器学习中模型参数和模型超参数分别是什么?有什么区别? 目录 机器学习中模型参数和模型超参数分别是什么?有什么区别?

  2. 105. 七夕祭【环形均分纸牌问题】

    首先你会发现,行交换和列交换是无影响的.故可以分开讨论. 这不就变成了环形均分纸牌的问题了么,和蓝桥杯糖果那题类似. #include<bits/stdc++.h> using names ...

  3. 环形均分纸牌问题(中位数)

    引入1:货仓选址问题 在X轴上有N个商店,其位置位xi(1<i<N),现需要求将货仓在X轴上某一 点,求货仓建在何处时使得货仓到各商店距离之和最小. Sum_distance=∑abs(x ...

  4. [codevs] 1098 均分纸牌

    均分纸牌 题目描述 Description 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动. 移牌规则为:在编号为 1 ...

  5. Luogu P1031 均分纸牌(贪心)

    P1031 均分纸牌 题目描述 有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸牌 ...

  6. 信息学奥赛一本通(1320:【例6.2】均分纸牌(Noip2002))

    1320:[例6.2]均分纸牌(Noip2002) 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 12714     通过数: 6841 [题目描述] 有n堆纸牌 ...

  7. 均分纸牌问题——(分治 + 贪心 + 前缀和 + 中位数 + 排序)

    题目描述 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子. 于是TYVJ今年举办了一次线下七夕祭. Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七 ...

  8. 均分纸牌(线性、环形、二维)

    感觉好久没写博客了- 题目描述 有N堆纸牌,编号分别为1,2,-,N.每堆上有若干张,但纸牌总数必为N的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为 ...

  9. 【NOIP模拟赛】七夕祭(环形均分纸牌)

    七夕节因牛郎织女的传说而被扣上了「情人节」的帽子.于是TYVJ今年举办了一次线下七夕祭.Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七夕祭和11区的 ...

最新文章

  1. 六步使用ICallbackEventHandler实现无刷新回调
  2. vc 6.0的安装问题
  3. 11月15日BCH协议升级提案又双叒啜来了,请查收!
  4. 【LeetCode从零单排】No88.Merge Sorted Array
  5. zoj1081判断点是否在多边形内
  6. NightWatchMan
  7. Java中不可或缺的59个小技巧,贼好用!
  8. [swustoj 771] 奶牛农场
  9. apache 2许可证_如何理解Apache 2专利许可
  10. Linux内核分析 - 网络[十五]:陆由表[再议]
  11. wordpress mysql缓存_WordPress 对象缓存与数据库缓存
  12. 6 自定义控件之屏蔽控件的设计时属性
  13. python Word批量转PDF
  14. mac 长时间锁屏后进入无声音
  15. 第020篇:SPM(Salford Predictive Modeler)中CART决策树的创建方法一:Model和Categorical 面板
  16. CSS3 设置网页黑白
  17. LJX的校园:体育课
  18. python拟合二次函数_Python 最小二乘法 拟合 二次曲线
  19. Redis源码分析(sds)
  20. 如何解决php curl curl_errno返回6 无法解析主机

热门文章

  1. TComboBox动态创建
  2. phpnow 更改mysql data文件夹路径
  3. CentOS7中编译安装redis5.0
  4. Jdbc -Statement
  5. [UE4]OnComponentBeginOverlap.AddDynamic 的编译错误
  6. Bootstrap系列 -- 44. 分页导航
  7. NO.4 Android开发中常用框架及工具
  8. 【Javascript】javascript学习 六 七 JavaScript 变量/运算符
  9. windows域策略——配置组策略刷新间隔
  10. php执行cmd/shell命令 木马小后门