【刷题6】一维前缀和、二维前缀和

目录

  • 一、一维前缀和
  • 二、二维前缀和

一、一维前缀和

题目:
在这里插入图片描述
思路:
在这里插入图片描述
一、前缀和,时间复杂度O(1),快速得到区间的值
二、预处理,公式——dp[i] = dp[i-1] + arr[i]
三、使用前缀和,根据题目计算出区间
四、多开一个好放数据,同时满足l、r下标刚好对应上

代码:

#include <iostream>
#include <vector>
using namespace std;int main() {int n, q;cin >> n >> q;vector<long long> arr(n+1);for(int i=1; i<=n; i++) cin >> arr[i];// 预处理前缀和数组vector<long long> dp(n+1);for(int i=1; i<=n; i++) dp[i] = dp[i-1] + arr[i];while(q--){int l, r;cin >> l >> r;// 使用前缀和数组cout << dp[r] - dp[l-1] << endl;}
}

二、二维前缀和

题目:
在这里插入图片描述
思路:
在这里插入图片描述
一、预处理前缀和矩阵
二、使用

代码:

#include <iostream>
#include <vector>
using namespace std;int main() {int n, m, q;cin >> n >> m >> q;vector<vector<long long>> arr(n+1, vector<long long>(m+1));for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){cin >> arr[i][j];}}// 预处理前缀和矩阵vector<vector<long long>> dp(n+1, vector<long long>(m+1));for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){dp[i][j] = dp[i-1][j] + dp[i][j-1] + arr[i][j] - dp[i-1][j-1];}}while(q--){int x1, y1, x2, y2;cin >> x1 >> y1 >> x2 >> y2;// 使用long long ret = dp[x2][y2] - dp[x1-1][y2] - dp[x2][y1-1] + dp[x1-1][y1-1];cout << ret << endl;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551854.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

VUE a-table 动态拖动修改列宽+固定列

实现效果 实现思路 自定义表头&#xff0c;在标题后面加两个标签&#xff0c;分别用来显示拖拽图标&#xff08;cursor: col-resize&#xff09;&#xff0c;和蓝色标记线&#xff08;有的时候鼠标移动过程中不一定会在表内&#xff0c;这个时候不显示图标&#xff0c;只显示蓝…

综合练习 学习案例

//验证码 前四位是字母 最后一位是数字 public class test1 {public static void main(String[] args){char [] charsnew char[52];for (int i 0; i <chars.length ; i) {if(i<25){chars[i](char)(i97);}else{chars[i](char)(i65-26);}}Random rnew Random();String cod…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统&#xff1a;特点可发红包&#xff0c;可添加多条链接到用户网站和应用&#xff0c;安卓苹果APPPC端H5四合一 后端开发语言&#xff1a;PHP&#xff0c; 前端开发语言&#xff1a;uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…

语音转文字免费利器:助力高效办公与学习

语音转文字免费的软件如同一股清流&#xff0c;让我们能够更轻松地将语音信息转化为可编辑的文字内容。今天我们一起来分析它们的功能、特点以及如何为我们的生活和工作带来便利。 1.365在线转文字 链接直达&#xff1a;https://www.pdf365.cn/ 这是一个功能强大的在线工具…

量化必备!股票常用数据批量下载、定时更新,代码打包好了!

上一节课我详细演示了从tushare获取股票列表和基本信息并且配置定时更新任务的详细流程&#xff0c;旨在教会想要学习通过Python获取股票数据并且定期更新的朋友。 不过有很多朋友完全没有Python基础&#xff0c;如果一开始把大量时间花费在搞数据上&#xff0c;本末倒置不说&…

如果您忘记了 Apple ID 和密码,按照指南可重新进入您的设备

即使您的 iPhone 或 iPad 由于各种原因被锁定或禁用&#xff0c;也可以使用 iTunes、“查找我的”、Apple 支持和 iCloud 解锁您的设备。但是&#xff0c;此过程需要您的 Apple ID 和密码来验证所有权并移除激活锁。如果您忘记了 Apple ID 和密码&#xff0c;请按照我们的指南重…

【PyTorch】图像分割

图像分割是什么 Image Segmentation 将图像每一个像素分类 图像分割分类 超像素分割&#xff1a;少量超像素代替大量像素&#xff0c;常用于图像预处理语义分割&#xff1a;逐像素分类&#xff0c;无法区分个体实例分割&#xff1a;对个体目标进行分割全景分割&#xff1a;…

动态库的加载全过程

区分一组概念&#xff1a;逻辑地址&#xff0c;虚拟地址&#xff0c;物理地址。 逻辑地址&#xff1a;是我们的代码在编译过程&#xff0c;编译器帮对每一条代码所生成的指令所编写的地址。 物理地址&#xff1a;当程序被放入到内存中时&#xff0c;内存与每一条指令所对应的…

031集——文本文件按空格分行——C#学习笔记

如下图&#xff0c;读取每行文本&#xff0c;每行文本再按空格分开读取一个字符串&#xff0c;输出到另一个文本&#xff1a; CAD环境下&#xff0c;代码如下&#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…

笔记本电脑如何改ip地址:操作指南与注意事项

在信息时代的浪潮中&#xff0c;网络已成为我们日常生活与工作中不可或缺的一部分。对于笔记本电脑用户而言&#xff0c;IP地址作为设备在网络中的唯一标识&#xff0c;其重要性不言而喻。无论是出于网络安全、网络测试还是特殊网络环境等需求&#xff0c;了解如何修改笔记本电…

制造企业各部门如何参与生产成本控制与管理?

​国内制造业的分量可不轻&#xff0c;从日常生活用品到高端工业设备&#xff0c;中国制造几乎涵盖了各个领域。 不过很多制造业企业在管理方面确实存在一些难题&#xff1a;成本控制不容易&#xff0c;产品质量并不稳定&#xff0c;生产周期也常常较长。 一、中国制造业生产管…

仿真设计|基于51单片机的商用电子计价秤设计

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现&#xff08;protues8.7&#xff09; 程序&#xff08;Keil5&#xff09; 全部内容 资料获取 具体实现功能 &#xff08;1&#xff09;通电时电子秤进入欢迎界面&#xff0c;显示“欢迎使用电子秤 设计学生…

【SQLite】基础操作

数据查询 SELECT 查询所有数据 SELECT *FROM tableName使用AND操作符 SELECT * FROM tableName WHERE id=? AND name=?使用OR操作符 SELECT * FROM tableName WHERE id=? OR name=?组合使用AND和OR SELECT * FROM tableName WHERE (id=? AND name=?) OR status=?多表查询…

vue3+PPTXjs 在线ppt预览

- 使用PPTXjs做ppt预览&#xff0c;有完整的代码包&#xff0c;基于jquery - vue3使用iframe引入用于预览ppt的网页&#xff0c;通过url参数传递需要预览的ppt链接 - 通过网页选择文件上传也可以通过下面的函数把文件转换成链接&#xff0c;实现在文件上传到服务器前就可以预…

Leetcode 11.乘最多水的容器(字节,快手面试题)

题目链接&#xff1a;11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线&#xff0c;使得它们与 x 轴共同…

Python中的Folium的简单探索

Python中的Folium的简单探索 1 前言2 Folium2.1 安装2.2 使用2.3 显示代码2.4 显示效果 总结 1 前言 最近项目中需要使用python&#xff0c;在python基础上搭建一套地图的操作&#xff0c;在使用Folium后&#xff0c;觉得确实还可以。但是小伙伴们说研究过其无法动态刷新&…

聊一聊 C#中有趣的 SourceGenerator生成器

一&#xff1a;背景 1. 讲故事 前些天在看 AOT的时候关注了下 源生成器&#xff0c;挺有意思的一个东西&#xff0c;今天写一篇文章简单的分享下。 二&#xff1a;源生成器探究之旅 1. 源生成器是什么 简单来说&#xff0c;源生成器是Roslyn编译器给程序员开的一道口子&am…

​​三SSH

ssh密钥对登录原理 &#xff1a;首先&#xff0c;客户端事先生成一对密钥&#xff0c;并将公钥保存在服务器上的授权文件中。接下来&#xff0c;客户端不用密码&#xff0c;而是用密钥对来验证身份。客户端用服务器的公钥来加密自己的公钥&#xff0c;然后把加密后的信息发送给…

面向未来的设计:数字化转型时代的企业架构与建模革新

在数字化转型浪潮席卷全球的今天&#xff0c;企业架构&#xff08;Enterprise Architecture, EA&#xff09;与建模技术正成为引领未来业务发展的核心工具。企业如何设计面向未来的架构&#xff0c;不仅关乎技术的部署&#xff0c;更直接影响业务的战略定位和市场竞争力。《面向…

51单片机的智能停车场【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器DS1302时钟模块红外传感器步进电机按键、蜂鸣器、LED等模块构成。适用于智能停车场车位管理、泊车管理系统等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间、温度和剩余车位 2、温度传感器DS…