线段树

XuYueming15 天前
数学·线段树·题解·单调栈·洛谷·扫描线·二维数点·部分分·概率 & 期望
[NOIP2022] 比赛 随机排列 部分分看到最大值,考虑使用单调栈搞出 \([la_i, ra_i], [lb_i, rb_i]\) 表示这一段区间 \(i\) 是 \(a, b\) 的最大值。预处理是简单的。
summ1ts1 个月前
数据结构·c++·算法·线段树·动态规划·图论·noip2023
NOIP2023题解有一个好猜的结论:对于一个字符串,若它当中的最小字符大于等于某其他字符串中的最大字符,那么这个字符串一定不可行。
ganjiee00072 个月前
算法·leetcode·线段树
leetcode|刷算法 线段树原理以及模板线段树使用的题目。每次操作都要得到返回结果的。比如699. 掉落的方块 - 力扣(LeetCode)2286. 以组为单位订音乐会的门票 - 力扣(LeetCode)
闻缺陷则喜何志丹3 个月前
c++·算法·线段树·力扣·求和·数组·查询
【线段树】2569. 更新数组后处理求和查询C++线段树给你两个下标从 0 开始的数组 nums1 和 nums2 ,和一个二维数组 queries 表示一些操作。总共有 3 种类型的操作: 操作类型 1 为 queries[i] = [1, l, r] 。你需要将 nums1 从下标 l 到下标 r 的所有 0 反转成 1 并且所有 1 反转成 0 。l 和 r 下标都从 0 开始。 操作类型 2 为 queries[i] = [2, p, 0] 。对于 0 <= i < n 中的所有下标,令 nums2[i] = nums2[i] + nums
Qres8213 个月前
线段树·sam·trie·树剖
8.22 万灵药(SAM + Trie + 树剖 + 线段树)http://cplusoj.com/d/senior/p/479?tid=66c55d60c098fe0f6786d470
无名之逆5 个月前
开发语言·算法·rust·线段树·二分·树状数组·离散化
3072. 将元素分配到两个数组中 II Rust 线段树 + 离散化给你一个下标从 1 开始、长度为 n 的整数数组 nums 。现定义函数 greaterCount ,使得 greaterCount(arr, val) 返回数组 arr 中 严格大于 val 的元素数量。
knoci5 个月前
算法·线段树
算法-扫描线目录什么是扫描线算法?扫描线简单应用更多的扫描线在计算几何中,扫描线算法(scan line algorithm)一般用来解决几何图形的面积交并,周长交并问题,扫描线算法的核心思想是利用扫描线(通常是水平线或垂直线)在几何空间中“扫描”对象,以确定哪些对象与扫描线相交。
lty_ylzsx6 个月前
线段树·字符串·dp·二分答案·splay·fhq_treap·treap
平衡树 Treap & Splay [学习笔记]首先了解 \(\tt{BST}\)非常好用的东西,但是数据可以把它卡成一条链 \(\dots\)于是,我们将 \(\tt{Tree}\) 与 \(\tt{heap}\) (堆) 合并,以保证平衡树 \(\log\) 的深度。
邪神与厨二病7 个月前
数据结构·算法·线段树·动态规划·模拟·暴力·分类讨论
牛客周赛 Round 39(A,B,C,D,E,F,G)比赛链接官方题解(视频)B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目
EQUINOX18 个月前
算法·leetcode·职场和发展·线段树·字典树·贪心
LeetCode 第390场周赛个人题解目录100245. 每个字符最多出现两次的最长子字符串原题链接思路分析AC代码100228. 执行操作使数据元素之和大于等于 K
why_not_fly8 个月前
数据结构·算法·线段树
线段树+暴力区修 P4145 上帝造题的七分钟 2 / 花神游历各国传送门https://www.luogu.com.cn/problem/P4145这道题着实想了好久,本来想的是用数学方法找规律,结果写了好久,发现想假了,于是只好看思路,暴力区修!原因是被开根号一定次数就会变成1,是有限的,所以可以暴力区间修改,但是要优化一下,这里直接贴代码。
邪神与厨二病8 个月前
c++·线段树·bfs·贪心·构造
牛客周赛 Round 36(A,B,C,D,E,F)比赛链接这场简单,只有F题比较值得一做,C是贪心,D是个BFS,E是构造,F是不太明显的线段树。用 string 的提取字串函数 substr() 即可。
邪神与厨二病9 个月前
数据结构·算法·华为·线段树·动态规划·dijkstra·主席树
HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)(A,B,C,D,E,F,G)看不懂的英文,题意很难理解,这场还是有点难度的。C需要处理,D是不太明显的dijikstra,E是线段树优化dp,F是个不好想的线段树,主席树应该也能做。
什码情况10 个月前
java·c++·python·算法·华为od·面试·线段树
结队编程 - 华为OD统一考试OD统一考试题解: Java / Python / C++某部门计划通过结队编程来进行项目开发,已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下:
mariocanfly1 年前
数据结构·算法·rust·线段树·泛型
Rust实现线段树和懒标记参考各家代码,用Rust实现了线段树和懒标记。由于使用了泛型,很多操作都要用闭包自定义实现。看代码。做一道题验证一下这个线段树的正确性,直接看我写的1589. 所有排列中的最大和题解即可(虽然这道题用差分数组最快,但是作为线段树验证还是很方便的)。
天黑之后才拥有光彩1 年前
c++·蓝桥杯·线段树·数论·思维·容斥·蓝桥杯题解
蓝桥杯 1223 第 2 场 小白入门赛ps: 2 ≤ n ≤ 1 0 10 2\le n \le10^{10} 2≤n≤1010ps:要用懒标记,其实和一般线段树下放懒标记没太大区别,第一次接触可能需要自己体会一下。
硕风和炜1 年前
java·数据结构·算法·leetcode·线段树·树状数组
【LeetCode:307. 区域和检索 - 数组可修改 | 树状数组 or 线段树】🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎 🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻 🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯
代码星辰1 年前
前缀和·线段树
LeetCode_线段树_中等_307.区域和检索 - 数组可修改给你一个数组 nums ,请你完成两类查询。实现 NumArray 类:示例 1: 输入: [“NumArray”, “sumRange”, “update”, “sumRange”] [[[1, 3, 5]], [0, 2], [1, 2], [0, 2]] 输出: [null, 9, null, 8] 解释:
明朗晨光1 年前
线段树·二分查找·dfs·优先队列·st表·蓝桥·启发式合并
【蓝桥】小蓝的疑问小蓝和小桥上完课后,小桥回顾了课上教的树形数据结构,他在地上画了一棵根节点为 1 的树,并且对每个节点都赋上了一个权值 w i w_i wi。
Qres8211 年前
数据结构·线段树
式子表达ds类——多用位置/值域表示未知数+区间覆盖转区间加:CF407Ehttps://www.luogu.com.cn/problem/CF407E推出的式子中 n n n 表示长度,应该直接换成 r − l + 1 r-l+1 r−l+1