随笔分类 -  数据结构

摘要:普通并查集 就是开一个 fa[i] 数组表示 i 的祖先节点。 初始化 for(int i=1;i<=n;i++)fa[i]=i,siz[i]=1; //fa[i]初始状态一定是只像自己的,siz[i]:表示 以 i 为根的子树大小 查询 inline int getf(int x) 阅读全文
posted @ 2024-11-28 19:25 tyccyt 阅读(10) 评论(0) 推荐(0) 编辑
摘要:大体思想 线段树分治是一种用于解决区间操作和时间点查询的算法。它的主要思想是以时间为下标建立线段树,将在某一时间段内生效的操作记录在线段树上,然后对于某一时间点的查询,可以直接从线段树上得到结果。线段树是一种容易维护区间的数据结构,它通过不断以中点分治区间,形成了 log 层的树形结构。 类 阅读全文
posted @ 2024-11-15 13:28 tyccyt 阅读(18) 评论(0) 推荐(0) 编辑
摘要:维护历史值 当要修改一个节点时,把跟他有关的线段树中所有节点舍弃,并建立新节点连接. 代码如下: #include <bits/stdc++.h> using namespace std; const int N=1e6+5; int n,m,a[N],root[N],top; struct nod 阅读全文
posted @ 2024-08-16 19:08 tyccyt 阅读(16) 评论(0) 推荐(1) 编辑
摘要:P4097 【模板】李超线段树 前置知识 线段树的基本思路 初中八年级基础知识 大体思路 李超线段树利用线段树思想, 可以支持维护支持区间插入线段,与单点查询最值。 在线段树中,每个节点存放线段的下标,同时,存的这一条线段在该区间内大部分处于比其他线段更高的位置 具体思路 变量 int n,cnt; 阅读全文
posted @ 2024-08-16 19:07 tyccyt 阅读(16) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示