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

news2024/11/6 9:54:09

目录

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

一、一维前缀和

题目:
在这里插入图片描述
思路:
在这里插入图片描述
一、前缀和,时间复杂度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.coloradmin.cn/o/2181785.html

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

相关文章

使用小尺寸大模型和 Dify 清洗数据:Qwen 2.5 7B

本篇文章&#xff0c;我们聊聊如何使用最近发布的 Qwen 2.5 7B 模型来做日常低成本的数据清理工作。 写在前面 这个月好像比上个月还忙&#xff0c;去了很多地方&#xff0c;见了很多朋友。 之前云栖大会上说要写几篇 Qwen 相关的实践&#xff0c;一直没有时间&#xff0c;趁…

银河麒麟,apt 安装软件报错640Unknown Status

今天把银行麒麟的机器恢复出厂了&#xff0c;然后apt install 安装极其不稳定&#xff0c;故障现象如下图所示&#xff1a; 错误提示里面有&#xff1a; 640 Unknown Status [IP: 106.116.184.122 80] E: 无法下载 http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/f…

了解客户支持的人工智能:人工智能如何改变客户服务

作者&#xff1a;来自 Elastic Elastic Platform Team 我们都经历过这种情况&#xff1a;走进商店时&#xff0c;看到人工收银台排着长队&#xff0c;而所有自助收银台都是空的。这就是所谓的便捷工具并不那么便捷的情况。曾经&#xff0c;许多客户服务 “解决方案” 也处于这种…

腾讯云新开端口

检查防火墙设置 890 2024-09-30 20:47:18 netstat -tuln | grep 1213891 2024-09-30 20:47:49 ping 110.40.130.231892 2024-09-30 20:48:38 sudo firewall-cmd --zonepublic --add-port1213/tcp --permanent893 2024-09-30 20:48:51 sudo firewall-cmd --reload894 2024-…

加油站智能视频监控预警系统(AI识别烟火打电话抽烟) Python 和 OpenCV 库

加油站作为存储和销售易燃易爆油品的场所&#xff0c;是重大危险源之一&#xff0c;随着科技的不断发展&#xff0c;智能视频监控预警系统在加油站的安全保障方面发挥着日益关键的作用&#xff0c;尤其是其中基于AI的烟火识别、抽烟识别和打电话识别功能&#xff0c;以及其独特…

C++入门基础知识93(实例)——实例18【猴子吃桃问题】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于猴子吃桃问题的相关内容&#xff01; 关…

微信小程序处理交易投诉管理,支持多小程序

大家好&#xff0c;我是小悟 1、问题背景 玩过微信小程序生态的&#xff0c;或许就有这种感受&#xff0c;如果收到投诉单&#xff0c;不会及时通知到手机端&#xff0c;而是每天早上10:00向小程序的管理员及运营者推送通知。通知内容为截至前一天24时该小程序账号内待处理的交…

家用无线路由器配置

一.首先进行线路连接。如下图&#xff1a;"光猫LAN口"—网线—"路由器WAN口"。 注意&#xff1a;家用光纤宽带一般选择使用200兆宽带到1000兆&#xff0c;如果网速不达标请查看路由器是否是千兆路由器。千兆路由器通常是双频的&#xff0c;支持两个信号一个…

Ubuntu 20.04常见配置(含yum源替换、桌面安装、防火墙设置、ntp配置)

Ubuntu 20.04常见配置 1. yum源配置2. 安装桌面及图形化2.1 安装图形化桌面2.1.1 选择安装gnome桌面2.1.2 选择安装xface桌面 2.2 安装VNC-Server 3. ufw防火墙策略4. 时区设置及NTP时间同步4.1 时区设置4.2 NTP安装及时间同步4.2.1 服务端&#xff08;例&#xff1a;172.16.32…

03-指针的类型,算术运算,void指针

指针是强类型的,需要特定类型的指针来存放特定类型变量的地址. 指针作用: 储存内存地址; 解引用那些地址的内容(访问和修改地址中的值) 一、整形,字符型指针输出: #include <stdio.h>int main(int argc, const char* argv[]) {int a 1025;int* p;p &a;printf(&qu…

【Linux:线程概念】

目录 概念&#xff1a; 创建线程的函数&#xff1a;​编辑 ​编辑 有多进程为什么还需要有多线程&#xff1f; 线程调度的成本为什么低&#xff1f; 进程与线程的区别&#xff1a; 概念&#xff1a; 线程是CPU的基本调度单位&#xff0c;在进程内部运行。在内核中&#xff…

Google AlphaChip改变了计算机芯片设计

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

\?拉普拉斯到底在讲什么\?控制理论\?倒立摆/

在大学课程中&#xff0c;无疑控制理论难倒了一大堆同学&#xff0c;那么接下来&#xff0c;从实践中来分析这个控制理论。 首先上场的就是拉普拉斯变化。上篇文章说了一下傅里叶函数的作用和使用&#xff0c;简单回顾一下&#xff1a; 傅里叶变换就是将一个周期或非周期的信号…

【有啥问啥】卡尔曼滤波(Kalman Filter):从噪声中提取信号的利器

卡尔曼滤波&#xff08;Kalman Filter&#xff09;&#xff1a;从噪声中提取信号的利器 什么是卡尔曼滤波&#xff1f; 卡尔曼滤波&#xff08;Kalman Filter&#xff09;是一种高效的递归滤波器&#xff0c;专为处理包含噪声的线性动态系统而设计。它能够从一系列不完全且含…

淘宝商品评论接口技术详解及代码示例

引言 淘宝商品评论接口是电商数据分析中不可或缺的一部分&#xff0c;它可以帮助商家和消费者更好地了解商品的质量、用户满意度等信息。本文将详细介绍如何使用淘宝商品评论接口&#xff0c;并提供相应的代码示例。 淘宝商品评论接口概述 淘宝商品评论接口主要用于获取商品…

ndb9300public-ndb2excel简介

1 引言 ndb9300是一个自己定义的机载导航数据库劳作&#xff08;不敢称为项目&#xff09;代号&#xff0c;其中3表示是第3种数据库。 多年前&#xff0c;对在役民航客机中的某型机载导航数据库的二进制文件进行分析&#xff0c;弄明白它的数据结构后做了几个工具&#xff0c…

elasticsearch设置账号和密码

1、es安装&#xff0c;挂载路径根据实际情况修改 docker run -d --restart always \ --name es \ -e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ -e "discovery.typesingle-node" \ -e "TZAsia/Shanghai" \ -v /mnt/data/efk/es/data:/usr/share/elast…

Autoware 定位之数据稳定处理(十)

0. 简介 这一讲按照《Autoware 技术代码解读&#xff08;三&#xff09;》梳理的顺序&#xff0c;我们来说一说Autoware中的数据稳定处理操作&#xff0c;这一讲的内容比较多&#xff0c;主要分为&#xff1a; pose_instability_detector 节点&#xff0c;旨在监测 /localiza…

无人机协同作业中的多网融合技术详解

无人机协同作业中的多网融合技术是一种复杂且高效的技术体系&#xff0c;它旨在通过整合多种通信网络和技术&#xff0c;实现多架无人机之间的无缝协同作业&#xff0c;从而提升任务执行效率、增强系统可靠性和扩展应用场景。以下是对该技术的详细解析&#xff1a; 一、多网融…

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

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