首页 > 其他分享 >ABC313C 解题报告

ABC313C 解题报告

时间:2023-08-05 22:57:22浏览次数:39  
标签:le ABC313C 报告 max sum min 解题 ans 序列

赛前看到这场 C 的分值直接飙上 \(400\) 就知道不是个善茬。

这道题给了个启发,算是积累个 trick 吧。

题目传送门

简要题意:给定长为 \(n\) 的序列,进行若干次以下操作:每次选定两个整数 \(i\) 和 \(j\),使得 \(a_{i} \leftarrow a_{i}+1\) 并使得 \(a_{j} \leftarrow a_{j}-1\),要求最终序列中 \(\max\{a_{i}\}-\min\{a_{i}\} \le 1\),最小化操作次数。数据范围:\(1 \le n \le 2 \times 10^5\),\(1 \le a_{i} \le 10^9\)。

由于值域很大,所以类似于枚举 \(\max\{a_{i}\}\) 的做法会炸。容易想到一个经典套路:取中位数。但是仔细想想会发现个别极端数据会有很大影响。这时候我们可以类似地想到取平均数。这是可行的,因为相当于取了个中间值。那么 \(\min\{a_{i}\}\)=\(\left\lfloor\dfrac{\sum\limits_{i=1}^n a_{i}}{n}\right\rfloor\),但是序列总和可能不能整除 \(n\),因此余数 \(c\) 我们就拆成一个个 \(1\) 使得 \(\max\{a_{i}\}=\min\{a_{i}\}+1\),这些最大值共有 \(c\) 个,剩下的 \(n-c\) 个便是最小值。最终序列构造完了,我们随便统计一下变换次数即可。时间复杂度 \(O(n)\)。

代码:

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define N 200005
#define LL long long
int n,m,i,j,a[N],s[N];
LL ans,sum,yu;
int main(){
	scanf("%d",&n);
	for(i=1;i<=n;i++) scanf("%d",&a[i]),ans+=a[i];
	if(ans%n==0){
		ans/=n;
		for(i=1;i<=n;i++){
			if(a[i]>ans) sum+=a[i]-ans;
		}
		printf("%lld",sum);
		return 0;
	}
	yu=ans%n,ans/=n;
	sort(a+1,a+1+n);
	for(i=1;i<=n-yu;i++) s[i]=ans;
	for(i=n-yu+1;i<=n;i++) s[i]=ans+1;
	for(i=1;i<=n;i++){
		if(a[i]<s[i]) sum+=s[i]-a[i];
	}
	printf("%lld",sum);
	return 0;
}

标签:le,ABC313C,报告,max,sum,min,解题,ans,序列
From: https://www.cnblogs.com/Nwayy/p/17608805.html

相关文章

  • 假期周进度报告7
    本周(7.30-8.5)主要开展数学建模知识的学习和python知识的学习。下周继续学习数学建模知识和python知识。周日,进行数学建模知识和python知识的学习,并准备返回学校收拾行李,在家休息一天,未遇到问题。周一,进行数学建模知识和python知识的学习,返校,整理行李,未遇到问题。周二,进行数学建......
  • 本周进度报告-4
    (1)这周依然是很平常的一周。这周天气有点不好,受到远在千里的台风影响河北也发生了大雨和内涝。听闻有几个同学家里都进水了。网上也是显示保定城区都有很深的积水,我们这里就更别说了。这周下完雨还非常的热;每天我依然骑行到练车场练车,起初的一天,水有点多,但是也只能勉强过去了。这周......
  • 磷化钼行业市场规模及研究分析报告2023-2029
    2023-2029全球磷化钼行业调研及趋势分析报告2022年全球磷化钼市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国磷化钼市场占据全球约%的市场份额,为全球最主要的消费市场之一,且......
  • 钨重金属粉末行业市场规模及研究分析报告2023-2029
    2023-2029全球钨重金属粉末行业调研及趋势分析报告2022年全球钨重金属粉末市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国钨重金属粉末市场占据全球约%的市场份额,为全球最主......
  • 大功率感应电动机行业市场规模及研究分析报告2023-2029
    2023-2029全球大功率感应电动机行业调研及趋势分析报告2022年全球大功率感应电动机市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国大功率感应电动机市场占据全球约%的市场份......
  • 电驱动三合一动力总成行业市场规模及研究分析报告2023-2029
    2023-2029全球电驱动三合一动力总成行业调研及趋势分析报告2022年全球电驱动三合一动力总成市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。电驱动三合一动力总成是将电机、减速器、控制器等零......
  • 可变速感应电动机行业市场规模及研究分析报告2023-2029
    2023-2029全球可变速感应电动机行业调研及趋势分析报告2022年全球可变速感应电动机市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国可变速感应电动机市场占据全球约%的市场份......
  • [译]2011年移动开发者经济学报告(五)
    哪可以赚钱第二部分将应用推向市场(上)开发者历程移动开发过程复杂,不只是“想法idea”到“应用app”两个步骤。今天的全球应用市场,将想法推向市场需要数十个步骤,仅列几项:计划,开发,调测,论坛支持,测试框架,打包,定价,发布,计费,市场,销售跟踪,用户支持和应用更新。我们用一个非常重要的图来阐述......
  • 阿里发布开源大数据热力报告2022——Flink,Superset,Datahub上榜
        近日阿里发布了《开源大数据热力报告2022》报告,分析近年来大数据项目的发展趋势。    在这当中听到了太多熟悉的名字,Kibana,Grafana,ClickHouse,Spark,Airflow,Flink,Superset,Kafka,Metabase,DolphinScheduler,Iceberg,Hudi,Datahub,SeaTunnel等等。    有很多是我已经研究写了......
  • 漏洞复现报告:CVE-2022-0847 Linux 内核漏洞
    1.1漏洞信息表漏洞名称Linuxkernel安全漏洞发布时间2022年3月7日漏洞编号CVE-2022-0847威胁类型其他危害级别高危影响版本LinuxKernel5.8-5.16.11、5.8-5.15.25、5.8-5.10.102漏洞描述产品介绍:Linuxkernel是美国Linux基金会的开源操作系统Linux所使用的内核。是一个一体化内核......