前缀和算法(1)

目录

一维前缀和[模板]

一、题目描述

二、思路解析

三、代码

二维前缀和[模板]

一、题目描述

二、思路解析

三、代码

724.寻找数组的中心下标

一、题目描述

二、思路解析

三、代码

238.除自身以外数组的乘积

一、题目描述

二、思路解析

三、代码


一维前缀和[模板]

一、题目描述

OJ题目链接:【模板】前缀和_牛客题霸_牛客网

二、思路解析

三、代码

#include <iostream>
using namespace std;
const int N = 100010;
long long arr[N], dp[N];
int n, q;
int main()
{cin >> n >> q;// 读取数据for(int i = 1; i <= n; i++) cin >> arr[i];// 处理前缀和数组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;}return 0;
}

二维前缀和[模板]

一、题目描述

OJ题目链接:【模板】二维前缀和_牛客题霸_牛客网

二、思路解析

三、代码

#include <iostream>
#include<vector>
using namespace std;
int main() 
{int n = 0, m = 0, q = 0;cin >> n >> m >> q;vector<vector<int>> arr(n + 1, vector<int>(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] - dp[i - 1][j - 1] + arr[i][j];}}int x1 = 0, y1 = 0, x2 = 0, y2 = 0;while(q--){cin >> x1 >> y1 >> x2 >> y2;cout << dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1] << endl;}return 0;
}

724.寻找数组的中心下标

一、题目描述

OJ题目链接:力扣(LeetCode)

二、思路解析

三、代码

class Solution {
public:int pivotIndex(vector<int>& nums) {int n = nums.size();vector<int> dp(n + 1);for(int i = 1; i <= n; i++){dp[i] = dp[i - 1] + nums[i - 1];}for(int m = 1; m <= n; m++){if(dp[m - 1] == dp[n] - dp[m]) return m - 1;}return -1;}
};

238.除自身以外数组的乘积

一、题目描述

OJ题目链接:力扣(LeetCode)

二、思路解析


三、代码

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int n = nums.size();vector<int> f(n);vector<int> g(n);vector<int> answer(n);f[n - 1] = 1, g[0] = 1;for(int i = n - 2; i >= 0; i--)f[i] = f[i + 1] * nums[i + 1];for(int i = 1; i < n; i++)g[i] = g[i - 1] * nums[i - 1];for(int i = 0; i < n; i++)answer[i] = f[i] * g[i];return answer;}
};

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

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

相关文章

SQLynx发布3.0.0版本:带来更流畅便捷的SQL开发体验

作为新一代的一站式数据库管理开发工具&#xff0c; SQLynx自发布上线以来&#xff0c;一直受到广大用户的好评与鼓励。 为了给用户提供更高效、更便捷、更可靠的数据库管理开发体验&#xff0c;SQLynx今日正式发布3.0.0版本&#xff0c;同步在麦聪软件官网上线&#xff0c;全…

centos 安装 netstat

要在CentOS系统上安装netstat命令&#xff0c;您需要安装名为net-tools的软件包&#xff0c;因为netstat是该包中包含的一个工具。以下是使用系统自带的软件包管理器进行安装的步骤&#xff1a; 对于使用yum的CentOS&#xff08;如CentOS 6或7&#xff09;&#xff1a; # 更新…

【AIGC】阿里云ecs部署stable diffusion

文章目录 安装anaconda安装cudagit 加速配置虚拟环境挂载oss端口开放启动服务其他controlnet显卡使用监控 参考资料 安装anaconda 安装Python、wget、git sudo apt install python3 python3-pip python3-virtualenv wget git 安装前置依赖 sudo apt-get install libgl1-mesa-…

0DAY漏洞是什么,如何进行有效的防护

零日漏洞&#xff0c;指的是软件或系统中未被公开的、未被厂商知晓的安全漏洞。这些漏洞未被修复&#xff0c;因此黑客可以利用它们进行攻击&#xff0c;而受害者往往无法防范。由于这些漏洞的存在时间很短&#xff0c;因此称之为“零日漏洞”&#xff0c;也称为“0day漏洞”。…

VMware ESXi部署macOS Monterey

正文共&#xff1a;1024 字 30 图&#xff0c;预估阅读时间&#xff1a;2 分钟 最早使用黑苹果是在2015年&#xff0c;装在了古老的Acer商务本上&#xff08;老樹發新芽&#xff0c;acer tm 4750g裝黑蘋果&#xff09;&#xff1b;上次安装黑苹果是在两年前&#xff08;VMware…

【爬虫基础】第3讲 常见浏览器User-Agent大全

User-Agent是浏览器或其他网络客户端发送给服务器的HTTP请求头字段&#xff0c;用于告诉服务器客户端的信息&#xff0c;包括操作系统、浏览器等。 以下是一些常见的浏览器User-Agent字符串&#xff1a; Chrome浏览器&#xff1a; Windows&#xff1a;Mozilla/5.0 (Windows NT…

淘宝详情数据采集(商品上货,数据分析,属性详情,价格监控),海量数据值得get

淘宝详情数据采集涉及多个环节&#xff0c;包括商品上货、数据分析、属性详情以及价格监控等。在采集这些数据时&#xff0c;尤其是面对海量数据时&#xff0c;需要采取有效的方法和技术来确保数据的准确性和完整性。以下是一些关于淘宝详情数据采集的建议&#xff1a; 请求示…

显示器刷新率

什么是刷新率以及为什么它很重要&#xff1f;- 英特尔 (intel.cn) 刷新率&#xff1a;显示器更新屏显图片的频率。 显示器每秒绘制新图像的次数。单位&#xff1a;Hz 刷新率为144Hz&#xff0c;指每秒钟刷新图像144次。 需要CPU和GPU能够迅速生成图像。 例如&#xff0c;显…

学习可视化比较好用的网站Apache ECharts

Apache ECharts 是一个基于 JavaScript 的开源可视化图表库&#xff0c;它提供了直观、交互丰富且可高度个性化定制的数据可视化图表。这个库最初由百度团队开源&#xff0c;并在 2018 年初捐赠给了 Apache 基金会&#xff0c;成为 ASF 的孵化级项目。在 2021 年 1 月 26 日&am…

四、在数据库里建库

一、查库 ##1&#xff09;库:一个库就是一个excell文档&#xff0c;库里含有表,一个表就是一个excell的sheet. ##2&#xff09;查看数据库实例中有哪些库 MariaDB [(none)]> show databases; -------------------- | Database | -------------------- | informat…

LabVIEW2024中文版软件安装包、工具包、安装教程下载

下载链接&#xff1a;LabVIEW及工具包大全-三易电子工作室http://blog.eeecontrol.com/labview6666 《LabVIEW2024安装图文教程》 1、解压后&#xff0c;双击install.exe安装 2、选中“我接受上述许可协议”&#xff0c;点击下一步 3、点击下一步&#xff0c;安装NI Package …

ChatGPT赋能大气科学:GPT与Python结合应用遥感降水数据处理、ERA5大气再分析数据的统计分析、干旱监测及风能和太阳能资源评估等

目录 专题一 AI领域常见工具讲解 专题二 POE平台及ChatGPT使用方法 专题三 提示词工程 专题四 科研常见应用场景 专题五 Python简明教程 专题六 GPT科研绘图 专题七 GPT辅助下载数据 专题八 遥感降水数据 专题九 数据产品评估 专题十 ERA5全球大气再分析数据 专题十…

Xilinx IDDR及ODDR使用和仿真

平台&#xff1a;Vivado2018 官方相关文档&#xff0c;ug471_7Series_SelectIO.pdf 关于IDDR与ODDR Input DDR Resource(IDDR) 外部的数据在时钟的上下沿同时传输数据&#xff0c;我们可以使用IDDR原语将输入的单bit数据转化为2bit的数据输出。同时数据速率变为原来的二分之一…

RabbitMQ简单介绍

什么是消息队列 消息队列是一种在应用程序之间传递消息的通信模式。它提供了一种异步的、可靠的方式来处理分布式系统中的消息传递。在消息队列中&#xff0c;消息发送者&#xff08;Producer&#xff09;将消息发送到队列&#xff08;Queue&#xff09;中&#xff0c;而消息接…

网络链路层之(1)基础概念

网络链路层之(1)基础概念 Author: Once Day Date: 2024年3月27日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CSD…

文心一言官网入口:一站式解决AI疑惑,探索AI世界的无限可能

1. 背景介绍 随着人工智能技术的飞速发展&#xff0c;越来越多的企业和开发者开始关注并尝试使用AI技术。然而&#xff0c;AI技术的发展日新月异&#xff0c;各种算法和框架层出不穷&#xff0c;使得初学者和开发者往往感到困惑和无从下手。为了帮助广大开发者更好地理解和使用…

HarmonyOS应用/元服务发布流程

在发布HarmonyOS应用/元服务前&#xff0c;建议您在本地进行调试&#xff0c;以查看和验证应用/元服务运行效果&#xff0c;减少发布过程中可能遇到的问题。 华为支持您使用HUAWEI DevEco Studio自动化签名的方式对应用/元服务进行调试&#xff0c;总体流程如下。 配置签名信息…

H12-831_338

多选题338、某园区部署OSPF实现网络互通&#xff0c;其中R2的LSDB如图所示。以下关于该LSDB信息的描述&#xff0c;错误的有哪些项? A.此时R4不能访间地址10.1.35.5/24&#xff0c;因为R4所在的Area l内没有泛洪R3-R5互联网段路由信息 B.Area l内无3类LSA&#xff0c;有7类1SA…

【LVGL-键盘部件,实体按键控制】

LVGL-二维码库 ■ LVGL-键盘部件■ 示例一&#xff1a;键盘弹窗提示■ 示例二&#xff1a;设置键盘模式■ 综合示例&#xff1a; ■ LVGL-实体按键控制■ 简介 ■ LVGL-键盘部件 ■ 示例一&#xff1a;键盘弹窗提示 lv_keyboard_set_popovers(kb,true);■ 示例二&#xff1a;设…

《python编程快速上手——让繁琐的工作自动化》实践项目——字符图网格

题目&#xff1a; 将 grid [[., ., ., ., ., .],[., O, O, ., ., .], [O, O, O, O, ., .],[O, O, O, O, O, .], [., O, O, O, O, O], [O, O, O, O, O, .], [O, O, O, O, ., .], [., O, O, ., ., .], [., ., ., ., ., .]] 打印出 ..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ..…