BZOJ 3293 分金币
整体来说,这道题与之前做的1045题目完全一样,出了说法不一样外,思路及做法可以照搬,因此在这里便不再详解。
程序如下:(如有疑问请参看我的博客http://www.cnblogs.com/szy-wlxy/p/4676642.html)
#include <cmath>
#include <algorithm> using namespace std; long long int i_people/*总人数*/;
int i_each[1000001]/*每一位的数量*/,i_change[1000001];
long long int i_result/*结果*/,i_min/*平均每人应有数*/,i_middle; int main()
{
scanf("%d",&i_people);// 输入数据
for (int i=0;i<i_people;i++)
{
scanf("%d",&i_each[i]);// 输入数据
i_min=i_min+i_each[i];// 求出总数
} i_min=i_min/i_people;// 求出平均每人应有数
for (int i=1;i<i_people;i++)
{
i_change[i]=i_change[i-1]+i_min-i_each[i];// 求出每一位应移走或移入的数量
}
sort(i_change,i_change+i_people);// 将结果排序 i_middle=i_change[i_people/2];
for (int i=0;i<i_people;i++)
{
i_result=i_result+abs(i_change[i]-i_middle);// 将每一位应移数相加
} printf("%lld\n",i_result);// 输出结果 return 0;
}
希望我的博客能对你有所帮助,谢谢。
BZOJ 3293 分金币的更多相关文章
- 分金币 bzoj 3293
分金币(1s 128M) coin [问题描述] 圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等.你的任务是求出被转手的 ...
- 【BZOJ-3293&1465&1045】分金币&糖果传递×2 中位数 + 乱搞
3293: [Cqoi2011]分金币 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 854 Solved: 476[Submit][Status] ...
- 【BZOJ3293】分金币(贪心)
[BZOJ3293]分金币(贪心) 题面 BZOJ 洛谷 题解 和上一题一样啊. #include<cstdio> #include<cmath> #include<al ...
- BZOJ3293: [Cqoi2011]分金币(数学)
3293: [Cqoi2011]分金币 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1596 Solved: 969[Submit][Status ...
- 【贪心+中位数】【UVa 11300】 分金币
(解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一 ...
- cogs 1430. [UVa 11300]分金币
1430. [UVa 11300]分金币 ★☆ 输入文件:Wealth.in 输出文件:Wealth.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 圆桌旁坐着 ...
- Java实现蓝桥杯分金币
分金币 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币, 最终使得每个人的金币数目相等.你的任务是求出被转手的金币数量的最小值. 比如,n=4,且4个人 ...
- java实现第五届蓝桥杯海盗分金币
海盗分金币 有5个海盗,相约进行一次帆船比赛. 比赛中天气发生突变,他们被冲散了. 恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人. 第一个人在沙滩上发现 ...
- BZOJ.3293.[CQOI2011]分金币(思路)
3293 双倍经验 1045 先考虑能否断环为链.显然是可以的,因为金币不可能在整个环上平移.所以我们枚举断点\(k\),表示\(k\)和\(k+1\)之间不交换金币. 令\(d_i=a_i-aver ...
随机推荐
- Android Memory/Resource Leak总结
Android的内存/资源泄露,不容易发现,又会引发app甚至是system的一系列问题. 在这里我根据以往碰到的相关问题,总结出了一些检测和修改方法. *有可能造成memory leak的代码是Fr ...
- NAND Flash中常用的纠错方式(ECC算法)
Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配 ...
- 升级automake和autoconf
<pre name="code" class="html">zjtest7-redis:/root/soft/json-c-json-c-0.12- ...
- nat123外网SSH访问内网LINUX的N种方法
一,动态公网IP环境 1,环境描述: 路由器分配的是动态公网IP,且有路由管理权限,LINUX主机部署在路由内网.如何实现外网SSH访问内网LINUX主机? 2,解决方案: 使用nat123动态域名解 ...
- Static block start new thread
Static block start new thread public class StaticThreadInit { static{ Threadt = newThread(){ public ...
- 视频主观质量评价工具:MSU Perceptual Video Quality tool
MSU Perceptual Video Quality tool是莫斯科国立大学(Moscow State University)的Graphics and Media Lab制作的一款视频主观评价 ...
- CCTableView 简单样例
非常像android中的listview #pragma once; #include "cocos2d.h" using namespace cocos2d; //使用CCTab ...
- linux搭建邮件服务器
一.概述: 在配置邮件服务器之前,先解释几个概念. 通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail ...
- linux内核之网络协议栈
https://www.ibm.com/developerworks/cn/linux/l-ntflt/
- 简单的web三层架构系统【第二版】
昨天写了 web三层架构的第一版,准确的说是三层架构的前期,顶多算是个二层架构,要慢慢完善. 第一版里,程序虽说能运行起来,但是有一个缺陷,就是里面的SQL语句,是使用的拼接字符进行执行.这样安全系数 ...