中位数定理:小试牛刀> _ <2025牛客寒假1
给定数轴上的n个点,找出一个到它们的距离之和尽量小的点(即使我们可以选择不是这些点里的点,我们还是选择中位数的那个点最优)
结论:这些点的中位数就是目标点。可以自己枚举推导(很好想)
(对于 点的数量为奇数,是排序之后最中间的数 ,对于点的数量为偶数的情况下,中间两个点 都可以,他俩的答案是相同的,可以简单的画图证明,或者直接抽象一点的想:假设这两个点分别为A B他们之间的距离为d,A相对于B 来说,左侧的点都减少d ,右侧的点都增加d .又因为A左侧的点的个数等于B 右侧的点,所以A B 的值相同)
板子题
void solve()
{int n;cin>>n;vector<int>a(n);for (int i=0;i<n;i++){cin>>a[i];}sort(a.begin(),a.end());int ans=0;for (int i =0;i<n;i++){ans+=abs(a[i]-a[n>>1]);}cout<<ans<<"\n";
}
添加链接描述

根据上边的引入,可以想到 将数组从中间分成两个子数组。
在考虑一种特殊的情况,就是我两个子数组的中位数相同,这样就不符合题目的要求。
这个时候,两个子数组的中位数肯定有一个要变一下。
有两种可能 左边的中位数-1 / 右边的中位数加1
(为啥左边的中位数不能+1 呢,因为加1 减1 对于数值是原本的中位数的数字 距离是相同的,但是我前边的数大概率有小于我原本中位数的数值,所以我中位数-1 ,距离小的数更进了)
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
#define int long longvoid solve()
{int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; i++){cin >> a[i];}sort(a.begin(), a.end());if (n == 2){if (a[0] != a[1]){cout << "0\n";}elsecout << '1' << "\n";return;}int len = n;len /= 2;int pos1 = len / 2;int pos2 = len + len / 2;int ans=0;if (a[pos1] != a[pos2]){//[0 len-1]for (int i=0;i<len;i++){ans+=abs(a[i]-a[pos1]);}for (int i=len;i<n;i++){ans+=abs(a[i]-a[pos2]);}}else{int tar=a[pos2]+1;for (int i=0;i<len;i++){ans+=abs(a[i]-a[pos1]);}for(int i=len;i<n;i++){ans+=abs(a[i]-tar);}int t=0;tar=a[pos1]-1;for (int i=0;i<len;i++){t+=abs(a[i]-tar);}for (int i=len;i<n;i++){t+=abs(a[i]-a[pos2]);}ans=min(ans,t);}cout<<ans<<'\n';
}
signed main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}相关文章:
中位数定理:小试牛刀> _ <2025牛客寒假1
给定数轴上的n个点,找出一个到它们的距离之和尽量小的点(即使我们可以选择不是这些点里的点,我们还是选择中位数的那个点最优) 结论:这些点的中位数就是目标点。可以自己枚举推导(很好想) (对于 点的数量为…...
(2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调
Large Language Models to Diffusion Finetuning 目录 1. 概述 2. 研究背景 3. 方法 3.1 用于 LM 微调的高斯扩散 3.2 架构 4. 主要实验结果 5. 结论 1. 概述 本文提出了一种新的微调方法——LM to Diffusion (L2D),旨在赋予预训练的大语言模型(…...
如何开发一个大语言模型,开发流程及需要的专业知识
开发大型语言模型(LLM)是一个复杂且资源密集的过程,涉及多个阶段和跨学科知识。以下是详细的开发流程和所需专业知识指南: 一、开发流程 1. 需求分析与规划 目标定义:明确模型用途(如对话、翻译、代码生成…...
【数据采集】基于Selenium采集豆瓣电影Top250的详细数据
基于Selenium采集豆瓣电影Top250的详细数据 Selenium官网:https://www.selenium.dev/blog/ 豆瓣电影Top250官网:https://movie.douban.com/top250 写在前面 实验目标:基于Selenium框架采集豆瓣电影Top250的详细数据。 电脑系统:Windows 使用软件:PyCharm、Navicat 技术需求…...
neo4j-在Linux中安装neo4j
目录 切换jdk 安装neo4j 配置neo4j以便其他电脑可以访问 切换jdk 因为我安装的jdk是1.8版本的,而我安装的neo4j版本为5.15,Neo4j Community 5.15.0 不支持 Java 1.8,它要求 Java 17 或更高版本。 所以我需要升级Java到17 安装 OpenJDK 17 sudo yu…...
多无人机--强化学习
这个是我对于我的大创项目的构思,随着时间逐渐更新 项目概要 我们的项目平台来自挑战杯揭绑挂帅的无人机对抗项目,但是在由于时间原因,并未考虑强化学习,所以现在通过大创项目来弥补遗憾 我们项目分为三部分,分为虚…...
UE制作2d游戏
2d免费资产: Free 2D Game Assets - CraftPix.net 需要用到PaperZD插件 官网下载后启用即可 导入png素材 然后全选 - 创建Sprite 创建 人物基类 设置弹簧臂和相机 弹簧臂设置成旋转-90 , 取消碰撞测试 设置子类Sprite 拖到场景中 绑定设置输入映射,让角色移动跳跃 神似卡拉比…...
说一下JVM管理的常见参数
Java虚拟机(JVM)有许多常见参数,用于控制其行为和性能。以下是一些常见的JVM参数及其说明: 1. 内存管理参数 -Xms<size> START 设置初始堆内存大小。例如,-Xms512m表示初始堆大小为512MB。 -Xmx<size>…...
【FPGA】 MIPS 12条整数指令【2】
目录 仿真 代码 完整代码 实现slt 仿真 ori r1,r0,1100h ori r2,r0,0020h ori r3,r0,ff00h ori r4,r0,ffffh addi r5,r0,ffff slt r6,r5,r4 slt r6,r4,r3 代码 EX Slt:regcData ($signed(regaData)<$signed(regbData))?1b1:1b0; ID Inst_slt:be…...
机器学习--python基础库之Matplotlib (2) 简单易懂!!!
python基础库之Matplotlib(2) python基础库之Matplotlib0 准备1 散点图的绘制2 柱状图绘制3 其他 python基础库之Matplotlib 上篇文章机器学习–python基础库之Matplotlib (1) 超级详细!!!主要讲解了python的基础库matplotlib中绘图的流程以及折线图的…...
mybatis plus 持久化使用技巧及场景
mybatis plus提供了很多强大的持久化工具,新手容易对这些工具使用困难,下面我总结了一下mybatis plus持久化的使用技巧及使用场景。 一、持久化 官方文档:https://baomidou.com/guides/data-interface/ (一)通过ser…...
JVM监控和管理工具
基础故障处理工具 jps jps(JVM Process Status Tool):Java虚拟机进程状态工具 功能 1:列出正在运行的虚拟机进程 2:显示虚拟机执行主类(main()方法所在的类) 3:显示进程ID(PID,Process Identifier) 命令格式 jps […...
记录 | 基于MaxKB的文字生成视频
目录 前言一、安装SDK二、创建视频函数库三、调试更新时间 前言 参考文章:如何利用智谱全模态免费模型,生成大家都喜欢的图、文、视并茂的文章! 自己的感想 本文记录了创建文字生成视频的函数库的过程。如果想复现本文,需要你逐一…...
生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)
今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来生成式 AI 安全市场正迅速发展。据IDC预测,到2025年全球 AI 安全解决方案市场规模将突破200亿美元,年复合增长率超过30%,而Gartn…...
现场流不稳定,EasyCVR视频融合平台如何解决RTSP拉流不能播放的问题?
视频汇聚EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。平台灵活性强,支持国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大…...
文献阅读 250205-Global patterns and drivers of tropical aboveground carbon changes
Global patterns and drivers of tropical aboveground carbon changes 来自 <Global patterns and drivers of tropical aboveground carbon changes | Nature Climate Change> 热带地上碳变化的全球模式和驱动因素 ## Abstract: Tropical terrestrial ecosystems play …...
算法与数据结构(括号匹配问题)
思路 从题干可以看出,只要给出的括号对应关系正确,那么就可以返回true,否则返回false。这个题可以使用栈来解决 解题过程 首先从第一个字符开始遍历,如果是括号的左边(‘(‘,’[‘,’}‘&…...
订单状态监控实战:基于 SQL 的状态机分析与异常检测
目录 1. 背景与问题 2. 数据准备 2.1 表结构设计 3. 场景分析与实现 3.1 场景 1:检测非法状态转换...
C# 中记录(Record)详解
从C#9.0开始,我们有了一个有趣的语法糖:记录(record) 为什么提供记录? 开发过程中,我们往往会创建一些简单的实体,它们仅仅拥有一些简单的属性,可能还有几个简单的方法,比如DTO等等…...
YOLOv11-ultralytics-8.3.67部分代码阅读笔记-autobackend.py
autobackend.py ultralytics\nn\autobackend.py 目录 autobackend.py 1.所需的库和模块 2.def check_class_names(names): 3.def default_class_names(dataNone): 4.class AutoBackend(nn.Module): 1.所需的库和模块 # Ultralytics 🚀 AGPL-3.0 License …...
SecGPT-14B模型量化:降低OpenClaw长期运行的Token消耗
SecGPT-14B模型量化:降低OpenClaw长期运行的Token消耗 1. 为什么需要量化SecGPT-14B模型 当我第一次在OpenClaw项目中接入SecGPT-14B模型时,就被它的安全分析能力惊艳到了。这个模型能精准识别代码漏洞、异常网络请求和各种安全威胁,让我的…...
面试官都爱问!Java并发编程18道灵魂拷问:从Synchronized到虚拟线程
文章目录开场:并发面试,一个让勇士变烈士的战场第一幕:基础篇——别小看Synchronized,水很深第1题:synchronized锁的底层原理是啥?Monitor又是啥玩意?第2题:synchronized和volatile到…...
PyFlow输入系统定制化:创建专属快捷键映射的完整指南
PyFlow输入系统定制化:创建专属快捷键映射的完整指南 【免费下载链接】PyFlow Visual scripting framework for python 项目地址: https://gitcode.com/gh_mirrors/py/PyFlow PyFlow作为一款强大的Python可视化脚本框架,允许用户通过直观的节点编…...
2025届最火的六大AI学术助手解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 维普AIGC检测系统专门用来识别学术文本里由人工智能生成的内容,随着AI写作工具变…...
别再死磕逐位计算了!用C语言手撸一个CRC32查表函数(附完整代码和表格生成)
从零构建高性能CRC32查表算法:嵌入式场景的极致优化实践 在嵌入式开发中,数据校验的效率和资源消耗往往成为系统设计的瓶颈。传统逐位计算的CRC32实现虽然直观,但在处理高速数据流或资源受限环境时,其性能劣势暴露无遗。查表法通过…...
河海大学819传热学考研复试备考资料(新能源学院·清洁能源技术专硕专用)
温馨提示:文末有联系方式【权威备考】河海大学819传热学复试专属资料包 本资料由2025届成功录取河海大学新能源学院清洁能源技术专业硕士的学长亲自整理,初试与复试综合成绩稳居前三,内容高度贴合最新考核趋势。【高效提分利器】核心资料全覆…...
UEFI开发实战指南 – 从环境搭建到国产平台适配
1. UEFI开发环境搭建全攻略 第一次接触UEFI开发时,我被各种陌生的术语搞得晕头转向。经过几个实际项目的摸爬滚打,终于摸清了门道。UEFI开发环境的搭建其实就像搭积木,只要掌握关键步骤,新手也能快速上手。 在Windows系统下搭建环…...
解锁Visual Studio中的图标编辑:.CUR文件的编辑指南
在软件开发中,图标是用户界面设计的重要组成部分。它们不仅能增强应用程序的美观度,还能提供直观的操作指引。然而,对于那些不熟悉Visual Studio环境的开发者来说,编辑图标文件可能遇到一些障碍。本文将详细介绍如何在Visual Studio中编辑.CUR文件,以及为什么默认情况下这…...
震惊!这几款 AI 论文生成器居然能自动匹配真实参考文献,导师都惊呆了!
还在为论文参考文献瞎编、格式错乱、找不到权威文献而熬夜秃头?普通 AI 论文工具动不动就 "文献幻觉",编出一堆查无此篇的假引用,被导师一眼戳穿,直接打回重写!2026 年实测精选,这几款真正能自动…...
破局双系统文件壁垒:WinBtrfs驱动终极应用指南
破局双系统文件壁垒:WinBtrfs驱动终极应用指南 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 在Windows与Linux双系统环境中,用户常常面临跨系统文件访问的难题…...
