先看一个经典问题:给定一个序列,支持两种操作 —— 修改某个元素的值、查询某个区间内的最大子段和(连续子序列的最大和)。
但通过数学公式的推导和变形,我们可以把这些复杂的待维护量,转化为线段树能轻松维护的基础信息:
线段树的标准递归过程是 “义无反顾” 的:无论当前区间是否需要处理,都会递归到叶子节点(或完全覆盖的节点)。而剪枝,就是在递归的路上设置 “检查...
先看一个直观的例子:假设对数字 x 先执行 “加 3” 再执行 “乘 2”,结果是 (x+3)*2 = 2x+6;若先执行 “乘 2” 再执行 ...
线段树的本质是用二叉树维护区间信息,基础的区间和、最大值维护,只需要在结构体中定义单个变量,配合简单的pushup整合左右孩子信息即可。但要维护...
要理解高斯消元法,首先要建立线性方程组和矩阵之间的联系,将方程组转化为矩阵形式是高斯消元的第一步,也是核心前提。
2026-02-09:使库存平衡的最少丢弃次数。用go语言,给定两个整数 w、m 和一个整数数组 arrivals(第 i 项表示第 i 天到达的物品种类,天数...
2026-02-03:子序列美丽值求和。用go语言,给定一个长度为 n 的整数数组 nums。
2026-02-01:K 因数分解。用go语言,给定两个正整数 n 和 k,要把 n 表示为恰好 k 个正整数相乘的结果(因子允许重复)。在所有满足乘积为 n ...
2026-01-31:重排完成顺序。用go语言,给定两个数组:order 长度为 n,包含 1 到 n 的所有编号且互不重复,数组中元素的先后位置表示选手完成比...
2026-02-07:统计二进制回文数字的数目。用go语言,给定一个不小于 0 的整数 n。考察区间 0 到 n 内的每个整数,把它用二进制表示并去掉前导零;如...
2026-02-06:碗子数组的数目。用go语言,给定一个元素互不相同的整数数组 nums。把任意一个连续片段 nums[l..r] 记作“碗”,当且仅当满足:
作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:...
2026-01-26:可以被机器人摧毁的最大墙壁数目。用go语言,在一条无限延伸的直线上,分布着若干机器人和若干堵墙。给定三个整数数组:表示机器人位置的 rob...
2026-01-24:数组元素分组。用go语言,给定一个整数数组 nums 和一个整数 k,判断能否把数组里的所有元素划分成若干个大小为 k 的子集合,要求每个...
2026-01-23:奇数和与偶数和的最大公约数。用go语言,给定一个整数 n,记 A 为前 n 项奇数序列(1、3、5、…)的和,B 为前 n 项偶数序列(2...