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

影响力--题解

题干中给的是切比雪夫距离的公式如果使用暴力算法需要遍历每个格子A对每个格子A都要遍历所有格子B计算代价。发现复杂度太高O((nm)2)n的二次方乘m的二次方所以这个方法不可行。这时我们要用到曼哈顿距离的转化就将距离转化为了代码实现如下#include bits/stdc.h using namespace std; int main() { // 输入输出优化加快速度 ios::sync_with_stdio(false); cin.tie(nullptr); // 1. 读取网格的行数n和列数m int n, m; cin n m; // 2. 计算总格子数并创建存储实力的数组 int total n * m; vectorints(total); // s[id] 存储每个格子的实力值 // 3. 逐行读取每个格子的实力值 // 将二维坐标(i,j)映射到一维索引 id i*m j for (int i 0; i n; i) { for (int j 0; j m; j) { cin s[i * m j]; } } // 4. 准备 u 和 v 坐标用于切比雪夫距离转换 // u i j, v i - j // 切比雪夫距离 max(|i1-i2|,|j1-j2|) (|u1-u2| |v1-v2|)/2 vectorintu(total), v(total); for (int i 0; i n; i) { for (int j 0; j m; j) { int id i * m j; // 计算一维索引 u[id] i j; // u坐标 v[id] i - j; // v坐标 } } // 5. 创建数组存储每个格子到所有格子的 |u| 之和 和 |v| 之和 vectorlonglongsum_u(total), sum_v(total); // 6. 处理 u 坐标计算每个格子的 sum_u[id] { // 6.1 创建索引数组并排序按 u 值从小到大 vectorintidx(total); iota(idx.begin(), idx.end(), 0); // idx [0,1,2,...,total-1] sort(idx.begin(), idx.end(), [](int a, int b) { return u[a] u[b]; }); // 现在 idx 按 u 值排序idx[i] 是第 i 小的 u 值对应的原始格子 id // 6.2 计算排序后的 u 值的前缀和 vectorlonglongprefix(total 1); for (int i 0; i total; i) { prefix[i 1] prefix[i] u[idx[i]]; // 前缀和前 i1 个 u 值之和 } // 6.3 对每个位置计算 |u[id] - u[others]| 之和 for (int i 0; i total; i) { int id idx[i]; // 当前格子的原始 id long long left_sum prefix[i]; // 左边所有 u 值之和 long long right_sum prefix[total] - prefix[i 1]; // 右边所有 u 值之和 int left_count i; // 左边格子数量 int right_count total - i - 1; // 右边格子数量 // 公式Σ|u_A - u_B| // (左边个数) × u_A - 左边和 右边和 - (右边个数) × u_A sum_u[id] (long long)left_count * u[id] - left_sum right_sum - (long long)right_count * u[id]; } } // 7. 处理 v 坐标计算每个格子的 sum_v[id] // 逻辑完全同上只是把 u 换成 v { // 7.1 创建索引数组并按 v 值排序 vectorintidx(total); iota(idx.begin(), idx.end(), 0); sort(idx.begin(), idx.end(), [](int a, int b) { return v[a] v[b]; }); // 7.2 计算排序后的 v 值的前缀和 vectorlonglongprefix(total 1); for (int i 0; i total; i) { prefix[i 1] prefix[i] v[idx[i]]; } // 7.3 对每个位置计算 |v[id] - v[others]| 之和 for (int i 0; i total; i) { int id idx[i]; long long left_sum prefix[i]; long long right_sum prefix[total] - prefix[i 1]; int left_count i; int right_count total - i - 1; sum_v[id] (long long)left_count * v[id] - left_sum right_sum - (long long)right_count * v[id]; } } // 8. 输出结果 for (int i 0; i n; i) { for (int j 0; j m; j) { int id i * m j; // 当前格子的 id // 切比雪夫距离总和 (|u|之和 |v|之和)/2 long long total_dist (sum_u[id] sum_v[id]) / 2; // 总代价 距离总和 × 实力 long long cost total_dist * s[id]; // 输出每行最后一个数字后换行 cout cost (j m - 1 ? \n : ); } } return 0; }

相关文章:

影响力--题解

题干中给的是,切比雪夫距离的公式 如果使用暴力算法, 需要遍历每个格子A;对每个格子A,都要遍历所有格子B;计算代价。 发现复杂度太高,O((nm)2),n的二次方乘m的二次方 所以这个方法不可行。这时我…...

基于FPGA的数据同步采集处理框架:包含ADC7606芯片数据采集模块、多通道数据处理模块、D...

基于fpga的数据同步采集处理,包含adc7606芯片的数据采集模块,多通道数据处理模块,ddr3缓存模块,使用SRIO通信模块,以及各个模块的仿真文件,提供学习整个框架。 包含单独的ddr3仿真,srio通信协议仿真&#x…...

基于springboot湄潭县乡村茶产品管理系统

一、系统定位与核心目标 湄潭县作为中国著名茶产区,其乡村茶产品管理需解决传统模式中的信息分散、产业链协同低效等问题。基于SpringBoot框架开发的茶产品管理系统,旨在通过数字化手段实现以下目标: 全产业链整合:覆盖茶园种植、…...

AI智能开发代码

import openai# 设置API密钥 openai.api_key = "your_api_key_here"def generate_text(prompt, max_tokens=50):"""使用AI模型生成文本参数:prompt (str): 输入提示文本max_tokens (int): 生成文本的最大长度返回:str: 生成的文本"""t…...

JAVA 国际版多商户团购扫码核销系统源码:支持多语言 + 多商户,可直接商用运营

随着本地生活、跨境团购、连锁门店、海外文旅场景快速发展,传统单商户团购系统已无法满足多商户入驻、多语言切换、扫码秒核销、跨境支付等真实运营需求。为此,一套稳定、成熟、可直接上线的 JAVA 国际版多商户团购扫码核销系统 成为开发者、创业者、企业…...

springboot基于微信小程序的二手书交易系统

基于 SpringBoot 和微信小程序的二手书交易系统是一款专为学生、书友等群体打造的二手书交易平台,借助 SpringBoot 的高效后端处理能力和微信小程序的轻量化特性,实现二手书的发布、浏览、交易、评价等全流程数字化管理,旨在促进闲置书籍的循…...

基差贸易全流程详解:高效点价与自动化下单的最佳实践

引言:破解基差贸易的高效难题——从人工瓶颈到自动化革新 基差贸易,作为现代大宗商品交易中的核心定价模式,彻底改变了企业锁定采购/销售价格的方式。无论是农产品、金属、能源还是化工,基差贸易都成为贸易公司与生产企业应对价格…...

虚拟同步发电机自适应控制(VSG)转动惯量与阻尼系数自适应调整并网仿真研究:角频率变化率对J和...

虚拟同步发电机自适应控制(VSG)转动惯量和阻尼系数自适应控制(并网)仿真 下图附带:参考文献的自适应算法以及仿真结果 仿真结果:J和D能够很好的根据角频率变化率和角频率变化率进行自适应2018a版本以上都可…...

快期指令系统优势全解析:高效合规的期现交易新范式

引言:破解期现指令管理难题,迈向高效合规新时代 在期现交易业务的迅猛发展背景下,指令管理的复杂性与合规要求持续提升。无论是客户直连交易,还是业务经理代操,企业都面临着权限分配繁琐、审批流程冗长、指令执行不透…...

FX5U PLC数据类型详解

本文详细整理了三菱FX5U系列PLC的各类数据类型定义、取值范围、存储方式及位操作方法。---1. Bool(位)类型| 属性 | 说明 ||------|------|| **数据位** | Bool只可能是 **0 / 1** || **数据大小** | 1位 || **X、Y点** | 8进制 |输入/输出区定义- **输入…...

树结构概述:从家谱到文件系统

在计算机科学中,树结构是一种基础且应用广泛的数据结构,它的设计灵感源于现实世界中的“树”——比如我们每个人都熟悉的家谱,又比如电脑中管理文件的文件系统。看似毫不相关的两个场景,背后却共享着树结构的核心逻辑。今天&#…...

comsol sofc固体氧化物燃料电池 单通道非绝热逆流固体氧化物燃料电池模型,包括阴阳极气...

comsol sofc固体氧化物燃料电池 单通道非绝热逆流固体氧化物燃料电池模型,包括阴阳极气体扩散层,电极扩散层尺寸来源于实际电池(极化曲线,性能曲线,气体分布,温度分布)在燃料电池的江湖里&#…...

springboot基于微信小程序的个体商业店铺商品展示与交易管理系统

基于 SpringBoot 微信小程序的个体商业店铺系统介绍 微信小程序凭借 “无需下载、触手可及” 的特性,已成为个体商户(如服装店、便利店、餐饮店)数字化转型的重要工具。基于SpringBoot(后端) 微信小程序(…...

2026网络安全转行全解析:薪资水平、工作节奏、前景趋势,一文讲透!

2026年转行进入网络安全领域薪资及工作安排与前景如何,一文给你讲清楚了! 如果你计划在2026年转行到网络安全领域,以下是一些建议,可以帮助你顺利过渡并打下坚实的基础: 1. 薪资情况 初级职位(0-3年经验…...

网关核心功能全解析

网关在网络通信中的核心功能解析 网关作为网络通信的关键基础设施,承担着连接不同网络的重要桥梁作用。根据参考资料的分析,网关在网络通信中主要承担以下五大核心功能: 网关的主要功能分析 功能类别具体作用实现机制典型应用场景协议转换…...

基于GA - LSSVM的数据回归预测:Matlab实现与交叉验证

基于遗传算法优化算法优化最小二乘支持向量机(GA-LSSVM)的数据回归预测 GA-LSSVM回归 matlab代码,采用交叉验证抑制过拟合问题注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上在数据预测领域,遗传算法优化最小二乘支持向量机(GA …...

SEW 31C450-503-4-00移动变频器

SEW 31C450-503-4-00 移动变频器是 SEW-EURODRIVE 生产的一款工业驱动控制设备,属于 MOVITRAC 31C 系列。该变频器用于调节交流电机的转速和扭矩,通过改变输出频率和电压实现电机平稳启动、运行及调速控制,广泛应用于工业传动、自动化设备和移…...

OpenClaw接入企业飞书机器人风险与防护

将 OpenClaw(原名 Clawdbot/Moltbot)接入企业飞书机器人,在带来高效 AI 协作的同时,也面临着严重的安全与合规风险。以下是核心风险及对应的规避策略: 一、 核心风险分析 提示词注入与控制权接管 (Prompt Injection) 风…...

擎策·知海全球专利数据库 检索赋能创新 让每一份研发投入都有价值

科技创新的价值,在于突破与落地,而无效研发、方向偏差,往往让大量研发投入付诸东流。对于企业研发人员、高校科研人员、发明人等各类科技创新者而言,一款专业、实用的专利数据库,不仅是检索工具,更是规避研…...

投标路上的那些 “怕“ 与 “难“作为投标方,你是否也有过这些困扰?

怕不小心触碰合规红线,一份标书细节疏漏就可能导致废标;怕围串标风险波及自身,项目竞争中 "躺枪" 却无从自证;怕评审环节信息不透明,技术、商务得分逻辑模糊,结果难预判;怕流程繁琐耗…...

基于VMD-SSA-LSTM算法的多维时序光伏功率预测模型——MATLAB实现与算法优化探索

基于VMD-SSA-LSTM的多维时序光伏功率预测--MATLAB 代码运行效果如下,可定做其他算法优化光伏功率预测的玄学程度堪比天气预报,特别是遇到多云转晴再转雷阵雨的极端天气。传统LSTM模型在这种多维时序场景下就像个只会背公式的学渣——考试总在及格线徘…...

springboot基于微信小程序的钓鱼交友与渔具回收系统

基于 SpringBoot 和微信小程序的钓鱼交友与渔具回收系统是一款专为钓鱼爱好者打造的综合性平台,借助 SpringBoot 的高效后端处理能力和微信小程序的便捷性,实现钓鱼爱好者之间的社交互动以及闲置渔具的回收利用,旨在为钓鱼爱好者提供交流平台…...

基于MATLAB实现凸轮轮廓设计及计算最优化参数,输出推程和回程最大压力角与最小曲率半径等结果

基于matlab的凸轮轮廓的设计计算与绘图 计算此结构的最优化参数,根据其原理输出推程和回程的最大压力角、最小曲率半径等相关结果。 程序已调通,可直接运行。凸轮设计这玩意儿看起来简单,实际玩起来全是细节。今天咱们用Matlab搞个直动滚子从…...

元脉网络旗舰级本土芯片交换机S12700 打造数智化园区新引擎

在数字经济与产业变革深度融合的时代背景下,园区作为经济发展与科技创新的核心载体之一,正迎来全方位的数智化变革浪潮。近日,元脉网络推出基于本土芯片设计的旗舰级园区核心交换机——S12700系列,兼具无阻塞转发、多维可靠、全栈…...

GPT-5.4 重磅登陆 OPE Platform!OpenAI 最强旗舰模型全面开放

一、深夜王炸!OpenAI 正式发布 GPT-5.43月5日凌晨,OpenAI 扔下一枚"核弹"——GPT-5.4 正式发布。这不是一次常规的版本迭代,而是一次"推理编程"的合流式跨越。被 Gemini 3.1 Pro 和 Claude Opus 4.6 连续压制一个月后&am…...

计数排序:非比较排序的典型代表

在计算机科学中,排序算法是基础且重要的内容。我们熟知的快速排序、归并排序等都是基于比较的排序算法,它们的时间复杂度下限为O(nlogn)。然而,当数据具有某些特殊性质时,我们可以利用非比较排序算法突破这一限制,计数…...

基于SpringBoot的社区生活服务平台

一、系统目标 基于 SpringBoot 的社区生活服务平台,旨在解决社区居民生活服务需求分散、获取信息不便、邻里互动不足、物业与居民沟通不畅等问题。通过构建 “便民服务 - 邻里互动 - 物业协同 - 商圈联动” 的全流程数字化平台,实现社区生活服务的集中化…...

一维线性插值算法C++详细实现

算法概述&#xff1a;算法实现&#xff1a;下面提供一套健壮的一维线性插值 C 实现&#xff0c;重点考虑了数据预处理、边界处理、重复点合并及浮点容差等鲁棒性细节。#include <vector> #include <algorithm> #include <stdexcept> #include <cmath> …...

能看、能玩、还能带走!ANTINSKY全系列3D打印材料亮相2026 TCT亚洲展

ANTINSKY蚁在云端&#xff0c;打造一站式3D打印采购新体验。2026年3月17日-19日&#xff0c;第12届TCT亚洲展将在上海国家会展中心举行。作为亚太地区增材制造行业的重要展会&#xff0c;本届展会预计将汇聚550余家展商。据资源库了解&#xff0c;ANTINSKY&#xff08;蚁在云端…...

前端转型全栈工程师超详细指南:零基础入门到实战落地,攻克转型难点

&#x1f3f7;️ 标签&#xff1a;全栈开发、前端转型、Node.js、全栈学习路线、后端入门、实战项目 &#x1f4cc; 摘要&#xff1a;本文针对前端开发者转型全栈工程师的痛点&#xff0c;详细拆解转型前提、分阶段学习路径、核心技术栈、实操项目、难点攻克方案&#xff0c;给…...