摘要: 目录线段树简介节点加法线段树1. 准备变量2. 上拉操作3. 建树4. 懒标记5. 下放操作6. 区间修改updata异或线段树pushupupdata最值线段树updatapushup 线段树 简介 线段树(一个二叉树)是一个非常重要的数据结构,利用分治的思想。可以用于维护一些满足结合律区间的信息 阅读全文
posted @ 2024-04-25 21:37 zerocloud01 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 个人笔记,欢迎补充、指正。 此次完全以个人理解来写。 整数二分 整数二分有两种,分别是找左边界和找右边界。 寻找符合要求的左边界:绿色点 int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1;//对应下界,最左 if ( 阅读全文
posted @ 2023-12-08 20:07 zerocloud01 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 个人笔记,欢迎补充,指正。 一维前缀和 对于数组: a[1],a[2],a[3]...a[n]; 其前缀和数组为 s[i] = a[1] + a[2] + ... + a[i]; 下标必须从1开始 求前缀和 1 for(int i=1;i<=n;++i) 2 s[i] = s[i-1] + a[i] 阅读全文
posted @ 2023-12-03 15:51 zerocloud01 阅读(10) 评论(0) 推荐(1) 编辑
摘要: 课堂内容+个人思考,个人笔记,但是欢迎补充、批评、指正。 快速排序基于分治的思想 平均时间复杂度O(nlogn) 已知数组q[] 步骤: 1、确定分界点(x): (1)首元素q[l]; (2)尾元素q[r]; (3)中值q[(l+r)/2]; (4)随机; 2、调整区间 将区间通过x值划分为两部分( 阅读全文
posted @ 2023-11-07 11:00 zerocloud01 阅读(19) 评论(0) 推荐(0) 编辑