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

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

目录

一、题目描述

二、算法原理

动态规划

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

基于AWS SDK S3EndpointProvider实现MinIO集群智能负载均衡

基于AWS SDK S3EndpointProvider实现MinIO集群智能负载均衡

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” 基于AWS SDK S3EndpointProvider实现MinIO集群智能负载均衡 前言 在现代分布式存储系统中,对象存储已成为存储海量非结构化数据的首选方案。MinIO作为一款高性能、云原生的对象存储系统,以其与AWS S3 API的完美兼容性而广受欢迎。然而,在生产环境中,单一MinIO节点往往无法满足高可用和高

By Ne0inhk
【2025 最新】WinSCP 下载安装教程(图文步骤 + 服务器连接与高阶配置)

【2025 最新】WinSCP 下载安装教程(图文步骤 + 服务器连接与高阶配置)

在日常开发、运维、搭建个人博客或管理云服务器时,文件上传下载是绕不开的基础操作。市面上常见的 FTP/SFTP 工具不少,但要么收费、要么捆绑插件,要么广告弹窗不断。 相比之下,WinSCP 一直是运维圈公认的“稳定、好用、免费”的首选工具。 本文将提供 2025 最新 WinSCP 下载安装教程,包括: * ✔ 安全下载链接 * ✔ 安装全过程图文步骤 * ✔ 如何连接服务器 * ✔ 常见连接报错解决 * ✔ 高阶配置(自动上传、本地编辑器、掉线保护等) 适合新手到专业开发者收藏使用。 WinSCP_Windows→Linux文件传输https://dubapkg.cmcmcdn.com/cs/257def/WinSCP.exe 一、WinSCP 是什么?为什么 2025 仍推荐它? 在开始

By Ne0inhk
[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

[特殊字符]颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发论文检索MCP Server!

🔥🔥🔥本篇笔记所对应的视频:🚀颠覆MCP!Open WebUI新技术mcpo横空出世!支持ollama!轻松支持各种MCP Server!Cline+Claude3.7轻松开发MCP服务_哔哩哔哩_bilibili Open WebUI 的 MCPo 项目:将 MCP 工具无缝集成到 OpenAPI 的创新解决方案 随着人工智能工具和模型的快速发展,如何高效、安全地将这些工具集成到标准化的 API 接口中成为了开发者面临的重要挑战。Open WebUI 的 MCPo 项目(Model Context Protocol-to-OpenAPI Proxy Server)正是为了解决这一问题而设计的。本文将带您深入了解 MCPo 的功能、优势及其对开发者生态的影响。 什么是 MCPo? MCPo 是一个简单、可靠的代理服务器,能够将任何基于 MCP 协议的工具转换为兼容

By Ne0inhk