LG2512/BZOJ1045 「HAOI2008」糖果传递 中位数
问题描述
题解
这是一个链状问题的环状版本。
问题最终变为给定数轴上的\(n\)个点,找出一个到他们的距离之和尽量小的点,而这个点就是这些数中的中位数。
网络流24题的负载平衡问题是双倍经验
\(\mathrm{Code}\)
#include<bits/stdc++.h>
using namespace std;
template <typename Tp>
void read(Tp &x){
x=0;char ch=1;int fh;
while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();
if(ch=='-'){
fh=-1;ch=getchar();
}
else fh=1;
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+ch-'0';
ch=getchar();
}
x*=fh;
}
#define int long long
const int maxn=1000000+7;
int n,a[maxn],s[maxn];
int ans,sum;
signed main(){
read(n);
for(int i=1;i<=n;i++) read(a[i]),sum+=a[i];
sum/=n;
for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i]-sum;
sort(s+1,s+n+1);
for(int i=1;i<=n;i++) ans=ans+(abs(s[n/2+1]-s[i]));
printf("%lld\n",ans);
return 0;
}
LG2512/BZOJ1045 「HAOI2008」糖果传递 中位数的更多相关文章
- 「WC2013」糖果公园
「WC2013」糖果公园 传送门 树上带修莫队板子题. 看懂题意后就是板子题了. 参考代码: #include <algorithm> #include <cstdio> #i ...
- [BZOJ1045] [HAOI2008] 糖果传递 (中位数)
Description 题目链接 Solution 这题跟数列的中位数有关, 具体证明见刘汝佳的蓝皮书里 Code #include <cstdio> #include <algor ...
- 【bzoj1045】【HAOI2008】 糖果传递
Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数n<=987654321,表示小朋友的个数 ...
- 【BZOJ】【1045/1465】【HAOI2008】糖果传递
思路题/神奇的转化…… orz hzwer 或许这个思路可以从单行而非环形的递推中找到?(单行的时候,从左往右直接递推即可…… 感觉好神奇>_<脑残患者想不出…… P.S.话说在$n\le ...
- 「SCOI2011」糖果
蒟蒻又回来写题解了... 题面 幼儿园里有 N 个小朋友, lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红 ...
- P2512 【一本通提高篇贪心】「一本通 1.1 练习 6」[HAOI2008]糖果传递
[HAOI2008]糖果传递 题目描述 有 n n n 个小朋友坐成一圈,每人有 a i a_i ai 个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为 1 1 1. 输入格式 小朋友 ...
- 【BZOJ1045】[HAOI2008] 糖果传递 贪心
[BZOJ1045][HAOI2008] 糖果传递 Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正 ...
- 【BZOJ1045】[HAOI2008]糖果传递
[BZOJ1045][HAOI2008]糖果传递 题面 bzoj 洛谷 题解 根据题意,我们可以很容易地知道最后每个人的糖果数\(ave\) 设第\(i\)个人给第\(i-1\)个人\(X_i\)个糖 ...
- 【数学】【HAOI2008】【BZOJ1045糖果传递】【BZOJ3293分金币】论数学的重要性
BZOJ1045和BZOJ3293一模一样两道题,在这里我用1045来讲. 1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec Memory Limit: 162 MB ...
随机推荐
- angular6 ngx-echarts 图表数据更新
最近在用angular写一个echarts图表,初始化赋值数据可以展示,但是重新获取数据以后,图表不会刷新. 后来发现了问题点所在, <div echarts class="demo- ...
- 解决python 缺少os.fspath
在python3.6下运行pandas会报错缺少os.fspath 升级到python3.7 3.7 安装参考:https://www.cnblogs.com/jifeng/p/11221469.ht ...
- HTML+CSS基础 权重的计算 权重计算规则
权重的计算 将选择器上面的选择器进行叠加,叠加后的总和就是该选择器的权重. 权重计算规则
- Redis2.8之后主从复制的流程
梳理一下Redis2.8之后主从复制的流程:
- Mongodb的常用语句
模糊查询 regex(".*?\\"+questionContent+".*") String questionContent = "需求" ...
- 使用 Xbox Game 录制桌面视频(录制音频)
使用 Xbox Game 录制桌面视频(附带音频) 前言:可能自己音频输出的问题,一直无法用工具录制桌面的音频,而最后发现利用 Xbox Game 录制游戏视频的功能很好地解决我们的问题. 1)打开游 ...
- Docker 指定数据储存目录
Docker 指定储存目录(原参数 --graph 已经失效 .) 方法一 一.在 Docker 配置文件中配置 /etc/docker/daemon.json 下面的命令是在 daemon.json ...
- [ICP]手推SVD方法
该方法源于<Least-Squares Rigid Motion Using SVD>,原文推导十分详细,这里自己也仔细推导了一遍,有些地方加以注释整理. 问题定义 假设我们有两个点云集合 ...
- Jsp和Servlet有什么区别?
Servlet接口中有哪些方法? Servlet接口定义了5个方法,其中前三个方法与Servlet生命周期相关: void init(ServletConfig config) throws Serv ...
- MySQL快速入门及常用命令
数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...