首页 > 其他分享 >日常训练2025-1-21

日常训练2025-1-21

时间:2025-01-21 21:54:55浏览次数:1  
标签:std 21 int res ++ 中位数 2025 日常 mr

日常训练2025-1-21

E双生双宿之错

rating:1300

https://ac.nowcoder.com/acm/contest/95323/E

思路(数论)

本题考查中位数定理,中位数有这样的性质 :所有数与中位数的绝对差之和最小。中位数是数列中间的那个数,或者是中间的那两个数之一。

所以最后得到的双生数组中的两种数即为数列左半截的中位数,和右半截的中位数。当左右的中位数相同时,让其中一个 +1 或者 -1,特判一下即可

代码

#include <bits/stdc++.h>

typedef std::pair<long long, long long> pll;
typedef std::pair<int, int> pii;
#define INF 0x3f3f3f3f
#define MOD 998244353
using i64 = long long;
const int N = 1e5+5;

void solve(){
	int n;
	std::cin >> n;

	std::vector<int> a(n);
	for (int i = 0; i < n; i++){
		std::cin >> a[i];
	}

	std::sort(a.begin(), a.end());

	int h = n / 2;

	int ml = a[h / 2], mr = a[h + h / 2];

	i64 ans = INF;

	for (auto x : {ml, ml - 1}){
		for (auto y : {mr, mr + 1}){
			if (x == y) continue;

			i64 res = 0;
			for (int i = 0; i < h; i++){
				res += abs(a[i] - x);
			}
			for (int i = h; i < n; i++){
				res += abs(a[i] - y);
			}
			ans = std::min(ans, res);
		}
	}

	std::cout << ans << '\n';
}

signed main()
{
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	std::cout<<std::setiosflags(std::ios::fixed)<<std::setprecision(2);
	int t = 1, i;
	std::cin >> t;
	for (i = 0; i < t; i++){
		solve();
	}
	return 0;
}

标签:std,21,int,res,++,中位数,2025,日常,mr
From: https://www.cnblogs.com/califeee/p/18684510

相关文章

  • 2025毕设springboot 基于的图书馆管理系统设计与实现论文+源码
    系统程序文件列表开题报告内容研究背景在当今信息化高速发展的时代,图书馆作为知识传播与学习的重要场所,其管理效率和服务质量直接影响到读者的使用体验与满意度。传统的图书馆管理方式大多依赖于人工操作,如图书的借阅、归还、分类及信息录入等,这些流程繁琐且易出错,不仅增加......
  • 2025毕设springboot 基于的停车场管理系统论文+源码
    系统程序文件列表开题报告内容研究背景随着城市化进程的加快,汽车数量急剧增长,停车难问题日益凸显,成为制约城市发展的重要因素之一。传统的停车场管理方式存在效率低、信息不透明、资源浪费等问题,已难以满足现代城市对停车管理的需求。基于信息技术的停车场管理系统应运而生......
  • 2025毕设springboot 基于的数学答题系统论文+源码
    系统程序文件列表开题报告内容研究背景在当今信息化快速发展的时代,教育领域正经历着深刻的变革。随着人工智能、大数据等技术的不断成熟,智能化教学系统逐渐成为提升教育质量的重要手段。传统的数学教学方式往往依赖于纸质作业和教师的人工批改,这一过程不仅耗时费力,而且难以......
  • WWW2025 多模态对话系统意图识别挑战赛方案总结
    WWW2025多模态对话系统意图识别挑战赛方案代码实现:https://github.com/klayc-gzl/incent_internvl_2.5_8b最终成绩:大赛背景互联网已成为提供客户服务的主要沟通渠道。网络客户服务面临的一个关键挑战是服务对话中多模态意图的高效识别。通过利用先进的AI和大型语言模......
  • 2025牛客寒假算法基础集训营1
    A.茕茕孑立之影题意:给你\(n\)个数,你要找一个数使得这个数和数组的任意一个数都不成倍数关系。如果数组里有\(1\)肯定不行,\(1\)是所有数的因子。其他情况我们只需要找一个大质数就行,因为值域只有\(1e9\),可以输出\(1e9+7\)。点击查看代码voidsolve(){ intn; std::cin>>......
  • 2025牛客寒假算法基础集训营1 ptlks的题解
    A.茕茕孑立之影题意:给定序列,找出一个数x,满足x和数组中任意一个元素都互不为倍数关系思路x范围为1e18以内,序列元素范围为1e9以内,选大于1e9的质数即可,特判序列中有1的情况。代码点击查看代码voidsolve(){ intn; cin>>n; intf=1; for(inti=1;i<=n;i++){ cin>>a[......
  • 2025年1月19日(什么是反馈系统)
    反馈系统是一种控制系统,其特点是系统的输出会被反馈到系统的输入端,以调节系统的行为和性能。在反馈系统中,系统的输出被测量并与期望的参考信号进行比较,然后根据比较结果来调整系统的输入,以使系统的输出接近期望值。反馈系统通常包括以下几个基本组成部分:传感器(Sensor):用于......
  • 【2025】Visual Studio详细安装使用教程(C/C++编译器)零基础入门到精通,收藏这一篇就够了
    Part1VisualStudio2022简介微软在官方开发博客中宣布,于2021年夏季发布VisualStudio2022的首个预览版,2022版本更快、更易于使用、更轻量级,专为学习者和构建工业规模解决方案的人设计。64位版的VisualStudio不再受内存限制困扰,主devenv.exe进程不再局限于4GB,用户......
  • 2025年3月全国计算等级考试(报名操作指南)从零基础到精通,收藏这篇就够了!
    2025年3月全国计算等级考试*报名指南新学期·新起点报名时间下次全国计算机等级考试时间:2025年3月22-23日。预计报名时间:2024年12月底至2025年1月上旬,各省具体报名时间可能有所差异,以正式通知为准。报名要求及步骤一般来说,无论你是大学生还是已经工作的职场人士,都是......
  • 2025 年 IPTV/APTV 直播源m3u(1月21日更新)
    前言注意:仅供学术学习研究使用。⚠️长期更新,建议收藏!更新日志源不在多,而在于精。0930将直播源做了较大更新,删除了大量不可用源地址。1月21日新增IPTV源:https://iptv.hacks.tools/1月21日新增直播源网站1月1日更新确认源可用性。1016新......