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

csp信奥赛C++高频考点专项训练之前缀和差分 --【二维前缀和】:领地选择

csp信奥赛C高频考点专项训练之前缀和差分 --【二维前缀和】领地选择题目描述作为在虚拟世界里统帅千军万马的领袖小 Z 认为天时、地利、人和三者是缺一不可的所以谨慎地选择首都的位置对于小 Z 来说是非常重要的。首都被认为是一个占地C × C C\times CC×C的正方形。小 Z 希望你寻找到一个合适的位置使得首都所占领的位置的土地价值和最高。输入格式第一行三个整数N , M , C N,M,CN,M,C表示地图的宽和长以及首都的边长。接下来N NN行每行M MM个整数表示了地图上每个地块的价值。价值可能为负数。输出格式一行两个整数X , Y X,YX,Y表示首都左上角的坐标。保证最优解是唯一的。输入输出样例 1输入 13 4 2 1 2 3 1 -1 9 0 2 2 0 1 1输出 11 2说明/提示对于60 % 60\%60%的数据N , M ≤ 50 N,M\le 50N,M≤50。对于90 % 90\%90%的数据N , M ≤ 300 N,M\le 300N,M≤300。对于100 % 100\%100%的数据1 ≤ N , M ≤ 10 3 1\le N,M\le 10^31≤N,M≤1031 ≤ C ≤ min ⁡ ( N , M ) 1\le C\le \min(N,M)1≤C≤min(N,M)每块地价值的绝对值不超过32767 3276732767。思路分析本题要求在N × M N\times MN×M的网格中找出一个C × C C\times CC×C的子正方形使得子正方形内所有数值之和最大并输出其左上角坐标( X , Y ) (X,Y)(X,Y)行列均从1开始。数据范围N , M ≤ 1000 N,M\le 1000N,M≤1000暴力枚举每个子正方形并求和的时间复杂度为O ( N M C 2 ) O(NM C^2)O(NMC2)不可接受。标准解法是二维前缀和预处理前缀和数组s [ i ] [ j ] s[i][j]s[i][j]表示从( 1 , 1 ) (1,1)(1,1)到( i , j ) (i,j)(i,j)的矩形和。任意子矩形 (x,y) 到 (xC-1,yC-1) 的和可以通过s [ x C − 1 ] [ y C − 1 ] − s [ x − 1 ] [ y C − 1 ] − s [ x C − 1 ] [ y − 1 ] s [ x − 1 ] [ y − 1 ] s[xC-1][yC-1] - s[x-1][yC-1] - s[xC-1][y-1] s[x-1][y-1]s[xC−1][yC−1]−s[x−1][yC−1]−s[xC−1][y−1]s[x−1][y−1]在 O(1) 时间内得到。枚举所有可能的左上角( x , y ) (x,y)(x,y)1 ≤ x ≤ N − C 1 1\le x\le N-C11≤x≤N−C11 ≤ y ≤ M − C 1 1\le y\le M-C11≤y≤M−C1记录最大值和对应坐标即可。时间复杂度O ( N M ) O(NM)O(NM)空间复杂度O ( N M ) O(NM)O(NM)完全满足要求。代码实现#includebits/stdc.husingnamespacestd;inta[1005][1005],s[1005][1005];//a原数组,s前缀和intmain(){intn,m,c;scanf(%d%d%d,n,m,c);for(inti1;in;i){//读入并计算前缀和for(intj1;jm;j){scanf(%d,a[i][j]);s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j];}}intmx-1e9,ansx1,ansy1;//最大值及对应坐标for(inti1;in-c1;i){//枚举左上角行for(intj1;jm-c1;j){//枚举左上角列inttmps[ic-1][jc-1]-s[i-1][jc-1]-s[ic-1][j-1]s[i-1][j-1];//子正方形和if(tmpmx){//更新最大值mxtmp;ansxi;ansyj;}}}printf(%d %d\n,ansx,ansy);//输出左上角坐标return0;}功能分析输入处理读取N , M , C N,M,CN,M,C和N × M N\times MN×M的矩阵边读入边构建二维前缀和数组s ss。核心计算遍历所有可能的C × C C\times CC×C子正方形左上角位置利用前缀和公式O ( 1 ) O(1)O(1)计算子正方形和并维护最大值及其坐标。输出按照题目要求输出最大值对应的左上角坐标保证唯一解。性能时间复杂度O ( N M ) O(NM)O(NM)对于1000 × 1000 1000\times 10001000×1000的数据轻松通过。空间复杂度O ( N M ) O(NM)O(NM)数组大小1005 × 1005 1005\times 10051005×1005约为 4MB内存安全。【完整系列请查看专栏】信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C提高组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}

相关文章:

csp信奥赛C++高频考点专项训练之前缀和差分 --【二维前缀和】:领地选择

csp信奥赛C高频考点专项训练之前缀和&差分 --【二维前缀和】:领地选择 题目描述 作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。 首…...

ABAP Cleaner,把 ABAP 代码整理这件小事做成团队工程能力

在做 SAP S/4HANA 项目时,代码清理经常不是最难的活,却是最容易被拖到最后的活。一个类里混着老式 MOVE、CREATE OBJECT、链式声明、大小写不统一的关键字、缩进靠手感维护的 IF 和 LOOP,业务逻辑也许没有错,但每一次代码评审都会被这些细节打断。评审本来应该讨论事务一致…...

KMS_VL_ALL_AIO:企业级Windows与Office智能激活解决方案深度解析

KMS_VL_ALL_AIO:企业级Windows与Office智能激活解决方案深度解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 在数字化办公环境中,Windows操作系统与Office办公套件的…...

保姆级教程:在Vue3项目中用ZLMediaKit+WebRTC实现超低延迟监控直播(附完整代码)

Vue3WebRTC超低延迟监控直播实战指南 在实时视频监控领域,延迟是衡量系统性能的核心指标之一。传统RTSP流媒体方案在Web端实现时,往往面临秒级甚至更长的延迟,这在对实时性要求极高的安防监控、工业检测等场景中成为致命短板。本文将深入探讨…...

如何快速安装elan:Lean版本管理器的完整指南

如何快速安装elan:Lean版本管理器的完整指南 【免费下载链接】elan The Lean version manager 项目地址: https://gitcode.com/gh_mirrors/el/elan elan是一个专门为Lean定理证明器设计的版本管理工具,它能让你轻松管理多个Lean安装版本。无论你是…...

如何在10分钟内搭建个人游戏云:Sunshine跨平台游戏串流终极指南

如何在10分钟内搭建个人游戏云:Sunshine跨平台游戏串流终极指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想要在任何设备上畅玩PC游戏吗?厌倦了被硬件…...

WeChatFerry:微信机器人自动化框架的终极技术指南

WeChatFerry:微信机器人自动化框架的终极技术指南 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/GitHub_Trending/w…...

2026最新版|程序员/小白大模型转行全攻略(零基础入门+路径规划+避坑指南,收藏必看)

2026年,AI大模型依旧是互联网技术圈的绝对核心风口,行业技术迭代速度持续加快,传统开发赛道内卷加剧、薪资封顶、岗位缩减等问题愈发凸显。无数基层程序员陷入职业瓶颈,零基础新手也苦于传统技术入门难、竞争大。 反观大模型赛道&…...

告别泊车翻车!用Python手把手教你搭建二自由度车辆模型(附代码)

二自由度车辆模型实战:从原理到避坑指南 泊车时方向盘打满,仿真结果却和实际相差十万八千里?很多刚入行自动驾驶仿真的工程师都踩过这个坑。二自由度模型作为车辆动力学的基础工具,在高速巡航等小转角场景表现优异,但遇…...

如何用elan终极解决Lean版本管理难题:完整开发者指南

如何用elan终极解决Lean版本管理难题:完整开发者指南 【免费下载链接】elan The Lean version manager 项目地址: https://gitcode.com/gh_mirrors/el/elan 在Lean定理证明器的开发过程中,你是否遇到过这样的困境:项目A需要Lean 4.0.0…...

从厨房小白到AI大模型高手:小白程序员也能轻松掌握大模型的秘密(收藏版)

本文旨在打破对AI大模型的刻板印象,用通俗易懂的语言解释AI大模型的工作原理,并通过实例教学,帮助读者从零开始掌握AI大模型的应用。文章涵盖了AI大模型的基本概念、提示词工程、RAG技术、函数调用、智能体构建、微调与部署等关键知识点&…...

5分钟快速上手SMUDebugTool:AMD Ryzen硬件调试终极指南

5分钟快速上手SMUDebugTool:AMD Ryzen硬件调试终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://g…...

如何快速实现Windows任务栏透明化:TranslucentTB终极美化指南

如何快速实现Windows任务栏透明化:TranslucentTB终极美化指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB是…...

如何完全掌控联想拯救者笔记本性能:5个高效配置秘籍

如何完全掌控联想拯救者笔记本性能:5个高效配置秘籍 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 想要彻底释放…...

边缘AI语音交互实战:从唤醒词识别到MCP外设控制的嵌入式实现

1. 项目概述:当边缘计算遇见语音交互 最近在折腾一个挺有意思的项目,核心是把语音交互的能力从云端“拽”下来,直接部署到边缘设备上,然后让它去控制各种MCP(Microcontroller Peripheral)外设。听起来像是智…...

如何快速掌握AKShare:Python金融数据接口的终极指南

如何快速掌握AKShare:Python金融数据接口的终极指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/aksh…...

海洋涡旋分析难题破解:Py Eddy Tracker 中尺度涡旋识别与追踪完整指南

海洋涡旋分析难题破解:Py Eddy Tracker 中尺度涡旋识别与追踪完整指南 【免费下载链接】py-eddy-tracker Eddy identification and tracking 项目地址: https://gitcode.com/gh_mirrors/py/py-eddy-tracker 海洋中尺度涡旋研究面临三大核心挑战:人…...

如何高效使用DazToBlender插件:专业3D资产迁移的完整实战指南

如何高效使用DazToBlender插件:专业3D资产迁移的完整实战指南 【免费下载链接】DazToBlender Daz to Blender Bridge 项目地址: https://gitcode.com/gh_mirrors/da/DazToBlender 你是否曾经为在Daz Studio和Blender之间转移3D角色而苦恼?DazToBl…...

立体匹配中的“性价比”之选:深入解读GWCNet的组相关思想与实时应用潜力

立体匹配中的“性价比”之选:深入解读GWCNet的组相关思想与实时应用潜力 在自动驾驶和机器人导航领域,立体视觉系统需要实时处理大量视觉数据,这对算法的计算效率提出了严苛要求。传统立体匹配算法往往面临一个两难选择:要么追求…...

人像抠图用什么软件好?2026年实测9款抠图工具制作方法对比

人像抠图(背景分离)是日常生活中的常见需求——换证件照背景、制作社交媒体头像、编辑产品图等场景都离不开它。今年人像抠图的工具选择已经非常丰富,从零基础用户到专业设计师都能找到趁手的方案。本文会详细对比9款主流人像抠图工具的制作方…...

如何快速掌握京东自动抢购工具:面向新手的终极完整指南

如何快速掌握京东自动抢购工具:面向新手的终极完整指南 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为抢购心仪商品时手速不够快而烦恼?Autobuy-JD自动抢购脚本为…...

终极指南:如何快速实现Daz Studio到Blender的无缝资产迁移

终极指南:如何快速实现Daz Studio到Blender的无缝资产迁移 【免费下载链接】DazToBlender Daz to Blender Bridge 项目地址: https://gitcode.com/gh_mirrors/da/DazToBlender 还在为3D角色创作中的软件壁垒而烦恼吗?Daz Studio以其强大的角色创建…...

开发智能客服系统时集成Taotoken实现多模型灵活调度

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发智能客服系统时集成Taotoken实现多模型灵活调度 在构建智能客服系统时,开发者常常面临一个核心挑战:单…...

Agent 框架别急着乱学:先用 LangChain 搞懂 7 个基本模块

先说结论。 如果你想系统理解 Python Agent 框架,LangChain 仍然值得作为第一篇。它不是最轻的,也不是最“自动化”的,但它把 Agent 应用里的关键零件都摆出来了:模型、工具、状态、记忆、middleware、多 Agent 路由和 tracing。…...

小白程序员必看:收藏这份分词知识框架,轻松入门大模型!

分词是NLP和大型语言模型处理文本的第一步。本文系统介绍了分词的基本概念,详细解析了英文和中文的分词方法,包括词级、字符级和子词级分词的原理与区别。特别强调了子词级分词(如BPE、WordPiece)在解决OOV问题和保留语义结构方面…...

在自动化脚本中集成Taotoken API并观察其长时间运行的可靠性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在自动化脚本中集成Taotoken API并观察其长时间运行的可靠性 对于需要长时间、周期性调用大模型API的自动化任务而言,服…...

Node.js 服务中如何异步调用 Taotoken 聚合接口实现 AI 功能集成

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Node.js 服务中如何异步调用 Taotoken 聚合接口实现 AI 功能集成 在 Node.js 服务中集成大模型能力,通常意味着你需要处…...

如何3步获取Beyond Compare 5永久授权密钥:开源工具全攻略

如何3步获取Beyond Compare 5永久授权密钥:开源工具全攻略 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的30天试用期到期而烦恼吗?想要免费解锁…...

创业团队如何利用Taotoken的Token Plan有效控制AI应用开发成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用Taotoken的Token Plan有效控制AI应用开发成本 对于资源有限的创业团队和独立开发者而言,在项目初期将…...

5步彻底解决显卡风扇异常:FanControl专业调校完全指南

5步彻底解决显卡风扇异常:FanControl专业调校完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...