线段树

2024/9/23 10:24:20

阴影映射(线段树)

实时阴影是电子游戏中最为重要的画面效果之一。在计算机图形学中,通常使用阴影映射方法来实现实时阴影。 游戏开发部正在开发一款 2D 游戏,同时希望能够在 2D 游戏中模仿 3D 游戏的光影效果,请帮帮游戏开发部! 给定 x-y 平面上的…

【线段树 区间位运算模板】3117划分数组得到最小的值之和

本文涉及知识点 线段树 区间位运算模板 LeetCode3117. 划分数组得到最小的值之和 给你两个数组 nums 和 andValues,长度分别为 n 和 m。 数组的 值 等于该数组的 最后一个 元素。 你需要将 nums 划分为 m 个 不相交的连续 子数组,对于第 ith 个子数组…

P7492 [传智杯 #3 决赛] 序列

*原题链接* 一道类似势能线段树的题,区间按位或上k,不满足区间可合并的性质,只能暴力的单点修改。 但是考虑按位或的性质,一个数或上另一个数,只会变大或不变,如果我们能找到一个方法,能够判定…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

3072. 将元素分配到两个数组中 II Rust 线段树 + 离散化

题目 给你一个下标从 1 开始、长度为 n 的整数数组 nums 。 现定义函数 greaterCount ,使得 greaterCount(arr, val) 返回数组 arr 中 严格大于 val 的元素数量。 你需要使用 n 次操作,将 nums 的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操…

线段树(以区间和为例)

线段树(以区间和为例) ​ 在对区间进行操作时,例如区间合并,线段树是一个很好用的数据结构。 ​ 需要注意的是,对区间的操作应该要满足结合律,比如四则运算,异或等,否则不能使用线段树,具体原…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

LeetCode 第400场周赛个人题解

100307. 候诊室中的最少椅子数 原题链接 100307. 候诊室中的最少椅子数 思路分析 直接模拟 时间复杂度:O(n) AC代码 class Solution:def minimumChairs(self, s: str) -> int:cur res 0for x in s:if x E:cur 1else:cur - 1res max(res, cur)return …

第八大奇迹

目录 题目描述 输入描述 输出描述 输入输出样例 示例 输入 输出 运行限制 原题链接 代码思路 题目描述 在一条 R 河流域,繁衍着一个古老的名族 Z。他们世代沿河而居,也在河边发展出了璀璨的文明。 Z 族在 R 河沿岸修建了很多建筑&#xff0c…

P1438 无聊的数列

*原题链接* 做法:线段树差分 很巧的一道题,区间操作单点询问,很容易想到诸如树状数组、线段树等数据结构,但发现这个题的区间加不是很好维护,一时没了思路。但是再去观察,发现给我们的是等差数列&#xf…

【动态维护树的直径】【HBCPC2023】I. Colorful Tree

题目 https://codeforces.com/gym/105139/problem/I 思路 其实相当于是分别求黑色点和白色点所构成的树的直径。 当两个连通块连在了一起,假设它们的直径是 ( u 1 , v 1 ) , ( u 2 , v 2 ) (u_1,v_1),(u_2,v_2) (u1​,v1​),(u…

算法——线段树C/C++

线段树(Segment Tree)是一种用于处理区间查询和区间更新的高效数据结构。它可以将一个数组分成多个小区间,并在每个小区间上存储一些信息(如区间的最小值、最大值、和等),以便快速查询或更新整个数组中的某…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

【线段树】2569. 更新数组后处理求和查询

本文涉及知识点 C线段树 LeetCode2569. 更新数组后处理求和查询 给你两个下标从 0 开始的数组 nums1 和 nums2 ,和一个二维数组 queries 表示一些操作。总共有 3 种类型的操作: 操作类型 1 为 queries[i] [1, l, r] 。你需要将 nums1 从下标 l 到下标…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

LeetCode 第400场周赛个人题解

100307. 候诊室中的最少椅子数 原题链接 100307. 候诊室中的最少椅子数 思路分析 直接模拟 时间复杂度:O(n) AC代码 class Solution:def minimumChairs(self, s: str) -> int:cur res 0for x in s:if x E:cur 1else:cur - 1res max(res, cur)return …