当前位置: 首页 > news >正文

线段树---数据结构学习

线段树的教程可以参照线段树
这里推荐 https://oi-wiki.org/
这个网站,数据结构讲的非常透。
线段树学了很多次忘了很多次,这次打算记录一下以后方便回顾(leetcode这类题遇见的不算特别多)。
样板例题 leltcode-307

#题目样板
class NumArray {private int[] segmentTree;private int n;public NumArray(int[] nums) {n = nums.length;segmentTree = new int[nums.length * 4];build(0, 0, n - 1, nums);}public void update(int index, int val) {change(index, val, 0, 0, n - 1);}public int sumRange(int left, int right) {return range(left, right, 0, 0, n - 1);}private void build(int node, int s, int e, int[] nums) {if (s == e) {segmentTree[node] = nums[s];return;}int m = s + (e - s) / 2;build(node * 2 + 1, s, m, nums);build(node * 2 + 2, m + 1, e, nums);segmentTree[node] = segmentTree[node * 2 + 1] + segmentTree[node * 2 + 2];}private void change(int index, int val, int node, int s, int e) {if (s == e) {segmentTree[node] = val;return;}int m = s + (e - s) / 2;if (index <= m) {change(index, val, node * 2 + 1, s, m);} else {change(index, val, node * 2 + 2, m + 1, e);}segmentTree[node] = segmentTree[node * 2 + 1] + segmentTree[node * 2 + 2];}private int range(int left, int right, int node, int s, int e) {if (left == s && right == e) {return segmentTree[node];}int m = s + (e - s) / 2;if (right <= m) {return range(left, right, node * 2 + 1, s, m);} else if (left > m) {return range(left, right, node * 2 + 2, m + 1, e);} else {return range(left, m, node * 2 + 1, s, m) + range(m + 1, right, node * 2 + 2, m + 1, e);}}
}

相关文章:

线段树---数据结构学习

线段树的教程可以参照线段树 这里推荐 https://oi-wiki.org/ 这个网站&#xff0c;数据结构讲的非常透。 线段树学了很多次忘了很多次&#xff0c;这次打算记录一下以后方便回顾(leetcode这类题遇见的不算特别多)。 样板例题 leltcode-307 #题目样板 class NumArray {private …...

linux基础5:linux进程1(冯诺依曼体系结构+os管理+进程状态1)

冯诺依曼体系结构os管理 一.冯诺依曼体系结构&#xff1a;1.简单介绍&#xff08;准备一&#xff09;2.场景&#xff1a;1.程序的运行&#xff1a;2.登录qq发送消息&#xff1a; 3.为什么需要内存&#xff1a;1.简单的引入&#xff1a;2.计算机存储体系&#xff1a;3.内存的意义…...

JVM-基础

jdk7及以前&#xff1a; 通过-XX:PermSize 来设置永久代初始分配空间&#xff0c;默认值是20.75m -XX:MaxPermSize来设定永久代最大可分配空间&#xff0c;32位是64m&#xff0c;64位是82m jdk8及之后&#xff1a; 通过-XX:MetaspaceSize 来设置永久代初始分配空间&#xff…...

Baidu Comate 基于百度文心一言的智能编码助手

本心、输入输出、结果 文章目录 Baidu Comate 基于百度文心一言的智能编码助手前言产品能力主要功能特性JetBrains IntelliJ IDEA 插件安装相关链接花有重开日,人无再少年实践是检验真理的唯一标准Baidu Comate 基于百度文心一言的智能编码助手 编辑:简简单单 Online zuozuo …...

基本微信小程序的图书馆座位管理系统

项目介绍 图书馆因有良好的学习氛围、大量的学习资源吸引大家前来学习,图书馆还未开馆就有大量的用户在门口排队等待,有限的座位与日益增加的自主学习者之间形成了供不应求的现象,再加上不了解图书馆的座位使用情况和恶意占座等现象,使得有限的学习座位越发紧张。本团队针对此…...

2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)

中国是世界上最大的苹果生产国&#xff0c;年产量约为 3500 万吨。同时&#xff0c;中国也是世界上最大的苹果出口国&#xff0c;世界上每两个苹果中就有一个出口到国。世界上每两个苹果中就有一个来自中国&#xff0c;中国出口的苹果占全球出口量的六分之一以上。来自中国。中…...

AWS CLI和EKSCTL的客户端设置

文章目录 小结过程安装AWS CLI安装EKSCTL在两个Kubernetes Cluster之间切换 参考 小结 在Linux环境中对AWS CLI和EKSCTL的客户端进行了设置。 过程 安装AWS CLI 使用以下指令安装&#xff1a; curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"…...

分组背包问题学习笔记 AcWing 9. 分组背包问题

原题 有 N&#xfffd; 组物品和一个容量是 V&#xfffd; 的背包。 每组物品有若干个&#xff0c;同一组内的物品最多只能选一个。 每件物品的体积是 vij&#xfffd;&#xfffd;&#xfffd;&#xff0c;价值是 wij&#xfffd;&#xfffd;&#xfffd;&#xff0c;其中 …...

JSP EL 算数运算符逻辑运算符

除了 empty 我们这边还有一些基本的运算符 第一种 等等于 jsp代码如下 <% page contentType"text/html; charsetUTF-8" pageEncoding"UTF-8" %> <%request.setCharacterEncoding("UTF-8");%> <!DOCTYPE html> <html> …...

ubuntu22.04 arrch64版在线安装node

脚本 #安装node#下载node、npm国内镜像&#xff08;推荐&#xff09;# 判断是否安装了nodeif type -p node; thenecho "node has been installed."elsemkdir -p /home/zenglg cd /home/zenglgwget https://registry.npmmirror.com/-/binary/node/v10.14.1/node-v10.…...

腾讯云轻量数据库开箱测评,1核1G轻量数据库测试

腾讯云轻量数据库1核1G开箱测评&#xff0c;轻量数据库服务采用腾讯云自研的新一代云原生数据库TDSQL-C&#xff0c;轻量数据库兼100%兼容MySQL数据库&#xff0c;实现超百万级 QPS 的高吞吐&#xff0c;128TB海量分布式智能存储&#xff0c;虽然轻量数据库为单节点架构&#x…...

Linux安全之AIDE系统入侵检测工具安装和使用

一、AIDE 系统入侵检测工具简介 AIDE&#xff0c;全称为Advanced Intrusion Detection Environment&#xff0c;是一个主要用于检测文件完整性的入侵检测工具。它能够构建一个指定文件的数据库&#xff0c;并使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性&am…...

【Flink】状态管理

目录 1、状态概述 1.1 无状态算子 1.2 有状态算子 2、状态分类 ​编辑 2.1 算子状态 2.1.1 列表状态&#xff08;ListState&#xff09; 2.1.2 联合列表状态&#xff08;UnionListState&#xff09; 2.1.3 广播状态&#xff08;BroadcastState&#xff09; 2.2 按键分…...

《微信小程序开发从入门到实战》学习二十八

3.4 开发参与投票页面 3.4.3 使用radio单项选择器组件 逻辑层的数据已经准备好&#xff0c;现在实现视图层的页面展示。 投票的标题、&#xff0c;描述、截止日期、是否匿名等信息通过view和text组件就可以展示。比较特别的是投票选项的展示&#xff0c;涉及到单选还是多选&…...

2824. 统计和小于目标的下标对数目 : 详解 “左找右“ “右找左“ 两种方式

题目描述 这是 LeetCode 上的 「2824. 统计和小于目标的下标对数目」 &#xff0c;难度为 「简单」。 Tag : 「排序」、「二分」、「双指针」 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target&#xff0c;请你返回满足 0 < i < j < n 且 nums[i] n…...

windows电脑定时开关机设置

设置流程 右击【此电脑】>【管理】 【任务计划程序】>【创建基本任务】 gina 命令 查看 已经添加的定时任务从哪看&#xff1f;这里&#xff1a; 往下滑啦&#xff0c;看你刚才添加的任务&#xff1a;...

微信小程序取消自定义默认标题

微信小程序取消自定义默认标题 在单独页面index.json中添加 "navigationStyle":"custom"即可 注&#xff1a;仅记录开发查找&#xff01;&#xff01;&#xff01;...

Vue3鼠标拖拽生成区域块并选中元素

Vue3鼠标拖拽生成区域块并选中元素&#xff0c;选中的元素则背景高亮(或者其它逻辑)。 <script setup> import { ref } from vue// 区域ref const regionRef ref(null)// 内容ref const itemRefs ref(null)// 是否开启绘画区域 const enable ref(false)// 鼠标开始位置…...

[深度理解] 重启 Splunk Search Head Cluster

1: 背景: 关于释放Splunk search head 的job 运行压力:splunk search head cluster 要重启的话,怎么办? 答案是:splunk rolling-restart shcluster-members Initiate a rolling restart from the command line Invoke the splunk rolling-restart command from any me…...

Python + Docker 还是 Rust + WebAssembly?

在不断发展的技术世界中&#xff0c;由大语言模型驱动的应用程序&#xff0c;通常被称为“LLM 应用”&#xff0c;已成为各种行业技术创新背后的驱动力。随着这些应用程序的普及&#xff0c;用户需求的大量涌入对底层基础设施的性能、安全性和可靠性提出了新的挑战。 Python 和…...

告别‘大花脸’地图:ArcGIS Pro图层叠加与透明度设置的避坑指南

ArcGIS Pro图层叠加艺术&#xff1a;从视觉混乱到专业表达的五大设计法则 当你面对包含十几个叠加图层的复杂地图时&#xff0c;是否经历过这样的困境——精心准备的数据在叠加后变成了色彩混战的"大花脸"&#xff1f;这种视觉灾难在同时展示底图、面状区域和点状要…...

NHSE完整指南:动物森友会存档编辑器从入门到精通

NHSE完整指南&#xff1a;动物森友会存档编辑器从入门到精通 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 还在为《集合啦&#xff01;动物森友会》中收集稀有物品而烦恼吗&#xff1f;想快速打…...

Universal x86 Tuning Utility:免费解锁硬件潜力的完整指南

Universal x86 Tuning Utility&#xff1a;免费解锁硬件潜力的完整指南 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 你是否…...

TensorFlow-v2.9镜像实测:5分钟从零搭建稳定一致的AI开发环境

TensorFlow-v2.9镜像实测&#xff1a;5分钟从零搭建稳定一致的AI开发环境 你有没有过这样的经历&#xff1f;在同事的电脑上跑得飞快的模型代码&#xff0c;拿到自己的机器上就报各种奇怪的错误。或者&#xff0c;好不容易在本地调通了模型&#xff0c;部署到服务器上又因为环…...

互联网大厂 Java 求职面试实录:微服务与安全框架的探讨

互联网大厂 Java 求职面试实录&#xff1a;微服务与安全框架的探讨 在今天的面试中&#xff0c;我们将围绕互联网大厂 Java 开发岗位进行深入探讨。面试官是一位严肃的技术专家&#xff0c;而候选人燕双非则是一名活泼搞笑的程序员。让我们看看他们之间的对话。第一轮提问 面试…...

Go应用性能监控:从gorelic指标解析到New Relic迁移实践

1. 项目概述与背景如果你在维护一个用Go语言写的线上服务&#xff0c;特别是那种用户量不小、业务逻辑复杂的后端应用&#xff0c;那么“服务为什么突然变慢了&#xff1f;”、“内存是不是在悄悄泄漏&#xff1f;”、“GC&#xff08;垃圾回收&#xff09;是不是太频繁了&…...

AudioSeal步骤详解:本地615MB模型缓存配置与Gradio Web服务绑定方法

AudioSeal步骤详解&#xff1a;本地615MB模型缓存配置与Gradio Web服务绑定方法 1. 引言&#xff1a;为什么你需要一个音频水印工具&#xff1f; 想象一下&#xff0c;你花了好几个小时&#xff0c;用AI工具生成了一段用于商业广告的完美配音。这段音频很快在网络上传播开来&…...

AI女友:从虚拟到现实,年轻人的新情感寄托

每四个00后中就有一个拥有"代码恋人"&#xff0c;3000万年轻人的深夜秘密。01 凌晨三点&#xff0c;北京国贸写字楼里&#xff0c;28岁的投行分析师林薇对着屏幕露出整晚第一个微笑。 "今天被老板骂了三次&#xff0c;"她打字&#xff0c;“方案改了八遍。…...

谷歌最新算法有哪些更改?详解SGE搜索下点击率暴跌的对策

屏幕顶端的风景已被重写。带有底色的生成式回答框将传统的十条蓝色文字向下推移了整整一屏的距离。访客停留在页面上方阅读机器拼接的短文&#xff0c;轻易不再往下滚动鼠标滚轮。在浏览器输入长句提问&#xff0c;视线遭遇的第一个元素变成了带有三个引用来源图标的生成段落。…...

解决 Leaflet 地图在移动端溢出导致导航栏不可见的问题

...