【思维】UVA 11300 Spreading the Wealth
题目大意
有n个人围圆桌而坐,每个人有Ai个金币,每个人可以给左右相邻的人一些金币。
若使得最终所有人金币数相等,求最小金币转移数。
数据范围
n<1000001
样例输入
3
100
100
100
4
1
2
5
4
样例输出
0
4
思路
可以算出最后每个人的钱数m为总钱数除以人数n。
比如,1号给2号x枚金币,相当于2号给1号-x枚金币。
所以只要考虑n→n-1,n-1→n-2,……,1→n即可。
设xi为i给i-1的金币数量。
假设i初始有Ai枚金币,最终钱数为m,则Ai-xi+xi+1=M。
设C1=A1-m,C2=C1+A2-m……
则移项得到xi+1=x1-Ci
答案是|x1|+|x1-C1|+……+|x1-Cn-1|的最小值,
因此问题就变成了在数轴上有n个点,找出一个和他们距离和最小的点。
可以得到这个点就是这些数的中位数,排序即可,或者用nth_element。
【思维】UVA 11300 Spreading the Wealth的更多相关文章
- 数学/思维 UVA 11300 Spreading the Wealth
题目传送门 /* 假设x1为1号给n号的金币数(逆时针),下面类似 a[1] - x1 + x2 = m(平均数) 得x2 = x1 + m - a[1] = x1 - c1; //规定c1 = a[ ...
- UVA.11300 Spreading the Wealth (思维题 中位数模型)
UVA.11300 Spreading the Wealth (思维题) 题意分析 现给出n个人,每个人手中有a[i]个数的金币,每个人能给其左右相邻的人金币,现在要求你安排传递金币的方案,使得每个人 ...
- UVa 11300 Spreading the Wealth(有钱同使)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: "Times New ...
- uva 11300 - Spreading the Wealth(数论)
题目链接:uva 11300 - Spreading the Wealth 题目大意:有n个人坐在圆桌旁,每个人有一定的金币,金币的总数可以被n整除,现在每个人可以给左右的人一些金币,使得每个人手上的 ...
- UVA - 11300 Spreading the Wealth(数学题)
UVA - 11300 Spreading the Wealth [题目描述] 圆桌旁边坐着n个人,每个人有一定数量的金币,金币的总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使得每个人的金 ...
- Uva 11300 Spreading the Wealth(递推,中位数)
Spreading the Wealth Problem A Communist regime is trying to redistribute wealth in a village. They ...
- UVA 11300 Spreading the Wealth (数学推导 中位数)
Spreading the Wealth Problem A Communist regime is trying to redistribute wealth in a village. They ...
- Math - Uva 11300 Spreading the Wealth
Spreading the Wealth Problem's Link ---------------------------------------------------------------- ...
- [ACM_几何] UVA 11300 Spreading the Wealth [分金币 左右给 最终相等 方程组 中位数]
Problem A Communist regime is trying to redistribute wealth in a village. They have have decided to ...
随机推荐
- python格式化输出当前时间
import time def get_now_time(): now_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.tim ...
- 【小白学PyTorch】9 tensor数据结构与存储结构
文章来自微信公众号[机器学习炼丹术]. 上一节课,讲解了MNIST图像分类的一个小实战,现在我们继续深入学习一下pytorch的一些有的没的的小知识来作为只是储备. 参考目录: @ 目录 1 pyto ...
- 逐浪CMS最新V8.1.6 Beta版安装部署操作
首先要获得内部最新版本的CMS,官网有公开发布版本,但不属于内部最新的,内部最新的CMS系统是不断的有功能的迭代更新. 操作系统建议是win10.1.windows server2012\2016\2 ...
- db2错误代码可能的原因
一. SQL5005C运行cmd未用管理员权限打开 SQLCODE-303 数据类型不兼容 SQLCODE-305 查出的数据有NULL未处理直接写入接收变量 二.应该不会有人直接写sql用这个 ...
- Django进入监听端口就自动打开指定页面,无需导航栏手动添加(Django六)
在我们进入监听端口时画面如下:而因为在urls.py中写过如下语句 我们在监听端口后加上/login就会跳转到login.html页面,如下图 那么如何一打开监听端口就可以走动跳转到login.htm ...
- 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
安装Apache&Nginx ①.升级一下yum源(不是必须的),升级会花点时间,需要选择的地方都选择都输入“y”即可 yum update ②. 安装Apache yum list |gre ...
- [LeetCode]96. 不同的二叉搜索树(DP,卡特兰数)
题目 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ ...
- P1295 [TJOI2011]书架 线段树优化dp,单调栈
P1295 [TJOI2011]书架 本题思路比较好想(对我来说不是),但代码细节很多,奈何洛谷的题解只有思路,然后就是 没有丝毫解释的代码,让人看起来很头疼(~~ 尤其是像我这样的蒟蒻~~),所以便 ...
- Python爬虫实战练习:爬取美团旅游景点评论数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 今年的国庆节还有半个月就要来了,相信很多的小伙伴还是非常期待这个小长假的.国庆节是一年中的小 ...
- Linux下日志文件过大解决方案
很多Linux服务器里的应用程序都是无间断的输出日志,这对于服务器的硬盘是一个很大的考验.良许之前也分享过一篇文章,介绍如何让应用程序在后台执行: linux后台执行命令:&与nohup的用法 ...