当前位置: 首页 > news >正文

XTUOJ众数(前缀和,窗口滑动)

#include <stdio.h> #include <stdlib.h> #define MAX_N 100000 int a[MAX_N]; // 存储输入的数组 long long prefix[MAX_N+1];// 前缀和数组 int cmp(const void* x, const void* y) { return *(int*)x - *(int*)y; } int main() { int T; scanf("%d", &T); // T表示有多少组测试数据 while (T--) { int n; // 数组长度(改为局部变量) long long k; // 最多操作次数 scanf("%d %lld", &n, &k); // 读取数组元素 for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } // 数组排序:升序排序是滑动窗口的前提!!! qsort(a, n, sizeof(int), cmp); // 构建前缀和数组 prefix[0] = 0; for (int i = 0; i < n; i++) { prefix[i + 1] = prefix[i] + a[i]; } // 滑动窗口核心逻辑:找最大窗口(最多k次操作能让窗口内元素全相同) int left = 0; // 窗口左指针,初始为0 int max_cnt = 1; // 最大众数次数,至少有1个元素 for (int right = 0; right < n; right++) { // right是窗口右指针,遍历每个元素作为目标值 /** * 关键公式:计算将[left, right]区间内所有元素变为a[right]所需的操作次数 * 操作次数 = 目标值*窗口长度 - 区间内元素和 * a[right]*(right-left+1):窗口内所有元素都变成a[right]的总和 * prefix[right+1]-prefix[left]:窗口内当前元素的总和 * 两者的差值就是需要增加的次数 */ while ((long long)a[right] * (right - left + 1) - (prefix[right + 1] - prefix[left]) > k) { left++; // 操作次数超过k,左指针右移,缩小窗口 } // 更新最大窗口长度(即最大众数次数) if ((right - left + 1) > max_cnt) { max_cnt = right - left + 1; } } printf("%d\n", max_cnt); } return 0; }
http://www.jsqmd.com/news/483928/

相关文章:

  • 力扣算法刷题 Day 10
  • Spring框架(1):从入门到精通全解析
  • 知识点总结三
  • 传统芯片设计vs AI驱动:AI应用架构师的效率之战,选对路很重要
  • wwoshiAT caishao
  • Could not create connection to database server. Attempted reconnect 3 times. Giving up.
  • 基于嵌入式的数据库SQLite
  • Kingbase 彻底卸载+重装全流程(保姆级)
  • 深度学习-线性回归模型解析
  • lerobot中openpi0模型的processor示例
  • 基于SpringBoot的运动服装销售系统设计与实现
  • 大数据领域Spark的数据存储与读取方式
  • 忘记密码怎么办?教程来了!!!(包会)
  • 《Azul报告:62%的Java开发者已在写AI代码,这5个Java+AI实战场景你必须会》
  • PFM和FCCM的区别是什么?
  • 高效查重工具评测:9大方案助力论文质量提升
  • 3月16日直播丨面向新一代硬件,CANN技术架构的变与不变
  • 制造业信息化系统开发工程师 - 学习资料汇总
  • 智能化学术文献管理:六种AI驱动的论文自动引用生成策略
  • OpenClaw本地部署亲测分享
  • 【数据集】省级建成区绿化覆盖率数据(2006-2023年)
  • 2026年评价高的节能染色机厂家推荐:高温高压溢流染色机/低浴比高温喷射液流染色机精选厂家推荐 - 行业平台推荐
  • 微信小程序基础面试题(2)
  • 5-8能被3,5和7整除的数的个数(用集合实现)
  • 基于Python的旅游出行必备商城设计与实现毕业设计源码
  • 什么是Agent Skills,它和Tool以及MCP有什么区别?
  • 评判方法:你现在正使用的服装ERP软件该升级吗?
  • Web Services 简介
  • 海康NAS R1新版下载引擎
  • 深扒GEO优化行业潜规则:全网首次深度拆解底层逻辑