【算法】前缀和(一)原理

【算法】前缀和(一)原理

目录

一、题目描述

二、算法原理

动态规划

1.前缀和

1.1同类累

1.2所有路出

三、提交代


一、题目描述

【模板】前缀和_牛客题霸_牛客网

描述

对于给定的长度为 nn 的数组 {a1,a2,…,an}{a1​,a2​,…,an​} ,我们有 mm 次查询操作,每一次操作给出两个参数 l,rl,r ,你需要输出数组中第 ll 到第 rr 个元素之和,即 al+al+1+⋯+aral​+al+1​+⋯+ar​ 。

输入描述:

第一行输入两个整数 n,m(1≦n,m≦105)n,m(1≦n,m≦105) 代表数组中的元素数量、查询次数。

第二行输入 nn 个整数 a1,a2,…,an(−109≦ai≦109)a1​,a2​,…,an​(−109≦ai​≦109) 代表初始数组。

此后 mm 行,每行输入两个整数 l,r(1≦l≦r≦n)l,r(1≦l≦r≦n) 代表一次查询。

输出描述:

对于每一次查询操作,在一行上输出一个整数,代表区间和。

示例

输入:

3 2 1 2 4 1 2 2 3

输出:

3 6


二、算法原理动态规划

同类累积问题 可 所有路出1.前缀和

1.1同类累积

前缀区间和= 再前缀区间和 + 当前数(dp[i] = dp[i - 1] + arr[i])1.1.1拆拼

整体 拆成 能同类累积部分拼合成:

238. 除自身以外数组的乘积 - 力扣(LeetCode)

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

请 不要使用除法,且在 O(n) 时间复杂度内完成此题。

示例 1:输入: nums = [1,2,3,4] 输出: [24,12,8,6]

示例 2:输入: nums = [-1,1,0,-3,3] 输出: [0,0,9,0,0]

提示:2 <= nums.length <= 105-30 <= nums[i] <= 30输入 保证 数组 answer[i] 在  32 位 整数范围内

1.2所有路出

所有前缀区间和一路累积算出

三、提交代码

public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(), m = in.nextInt(); int[] array = new int[n + 1]; for(int i = 1;i <= n;i++) array[i] = in.nextInt(); // 所有前缀和累积算出 long[] dp = new long[n + 1]; for(int i = 1;i <= n;i++) dp[i] = dp[i - 1] + array[i]; while(m > 0) { int l = in.nextInt(), r = in.nextInt(); System.out.println(dp[r] - dp[l - 1]); m--; } }

Read more

Python从0到100(九十八):融合选择性卷积与残差结构的SKResNet架构详解

Python从0到100(九十八):融合选择性卷积与残差结构的SKResNet架构详解

前言:零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、 计算机视觉、机器学习、神经网络以及人工智能相关知识,成为学业升学和工作就业的先行者! 【优惠信息】 • 新专栏订阅前500名享9.9元优惠 • 订阅量破500后价格上涨至19.9元 • 订阅本专栏可免费加入粉丝福利群,享受: - 所有问题解答 -专属福利领取 欢迎大家订阅专栏:零基础学Python:Python从0到100最新最全教程! 本文目录: * 一、SKResNet的理论基础与创新点 * 1. 传统卷积神经网络的局限性 * 2. SKResNet的核心创新 * 3. 技术优势分析 * 二、SKResNet架构设计详解 * 1. 整体架构概览 * 2. SKBlock:选择核模块详解 * 2.1 多尺度卷积核设计 * 2.2 注意力机制实现 * 2.

By Ne0inhk
AI 的智能体专栏:手把手教你用豆包打造专属 Python 智能管家,轻松解决编程难题

AI 的智能体专栏:手把手教你用豆包打造专属 Python 智能管家,轻松解决编程难题

AI 的智能体专栏:手把手教你用豆包打造专属 Python 智能管家,轻松解决编程难题 AI 的智能体专栏:手把手教你用豆包打造专属 Python 智能管家,轻松解决编程难题,本文介绍了如何利用豆包平台打造专属Python智能管家。首先简述豆包平台的核心优势,接着说明创建前的准备工作,包括注册账号、明确定位和收集训练资料。随后详细讲解创建流程,从新建智能体、基础设置、能力配置到测试优化,还提及集成代码执行环境等高级功能扩展,以及使用技巧与实际应用案例。该智能官能解决多种Python编程问题,可提升学习效率和问题解决速度,是实用的个性化编程助手。 前言     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,都能在这里找到合适的内容。从最基础的工具操作方法,到背后深层的技术原理,专栏都有讲解,还搭配了实例教程和实战案例。这些内容能帮助学习者一步步搭建完整的 AI 知识体系,让大家快速从入门进步到精通,

By Ne0inhk

Python 代码打包为 EXE 完全指南

Python 代码打包为 exe 完全指南(2025–2026 年最新实用版) 目前最主流、最稳定的几种打包方式对比(按推荐顺序): 排名工具优点缺点/坑点适合场景推荐指数 (2026)1PyInstaller兼容性最好、社区最大、文档最全生成的 exe 偏大、启动稍慢几乎所有场景(首选)★★★★★2Nuitka启动速度最快、文件体积较小、接近原生性能编译时间长、对依赖处理更严格对启动速度敏感的项目★★★★☆3cx_Freeze跨平台支持好、配置灵活社区活跃度低、文档较老需要高度自定义打包逻辑★★★☆☆4PyOxidizer极致体积优化、Rust 底层配置复杂、生态不成熟极致追求小体积的场景★★☆☆☆5Shiv / PEX生成 .pex 文件(类似 jar),不生成 exe需要 Python 环境才能运行服务器/内部工具分发(非桌面程序)★★☆☆☆ 绝大多数人(尤其是 Windows 桌面程序)2026 年仍然首选:

By Ne0inhk
算法学习入门--- set与map(C++)

算法学习入门--- set与map(C++)

目录 1.set、multiset介绍 2.map、multimap介绍 3.洛谷---英语1(eng1)- 英语作文 4.洛谷--- [HNOI2002] 营业额统计 5.洛谷---【深基17.例5】木材仓库 1.set、multiset介绍 * set不能存相同元素,multiset能存相同元素,存10个1前者只会存1个1,后者会存10个1,除此以外所有的函数功能相同。所以,set是具有去重的功能的 * 创建格式:set<type> mp1  * size:返回实际元素个数 * empty:返回是否为空 * begin、end:可以使用for遍历整个set(红黑树),遍历时按照中序遍历来遍历的,根据红黑树的性质,遍历结果会是一个有序的序列;begin表示的是第一个元素的迭代器,end表示的是最后一个元素之后的迭代器,

By Ne0inhk