数据结构
明天见A
这个作者很懒,什么都没留下…
展开
-
平衡树一、替罪羊树
简介替罪羊树,英文名 Scapegoat Tree,是平衡树里思路最为简单的一个基本操作和二叉搜索树基本相同,只是在树不平衡的时候暴力重构存储结构struct Node{ int l, r; //左右儿子 int val; //值 //结点数量(包含已删除但位进行重构的树的结点)、真实结点数量 int size, fact; bool exist; //判断点是否存在,不存在为false}tr[N];建立新结点int get_node(i原创 2021-05-20 20:14:51 · 401 阅读 · 1 评论 -
可持久化数据结构
可持久化数据结构一、什么数据结构能做可持久化二、可持久化Trie一、什么数据结构能做可持久化二、可持久化TrieTrie的可持久化例子最大异或和具体代码#include<bits/stdc++.h>using namespace std;const int N = 600010, M = N * 25;int n, m;int s[N];int tr[M][2], max_id[M];int root[N], idx;void insert(int i.原创 2021-05-17 15:47:42 · 99 阅读 · 0 评论 -
你能回答这些问题吗
你能回答这些问题吗具体代码如下#include<iostream>#include<cstring>using namespace std;const int N = 500010;int n, m;int w[N];struct Node{ int l, r; int sum, lmax, rmax, tmax;//区间和、区间最大前缀和、区间最大后缀和、区间最大和}tr[N * 4];void pushup(Node &u,原创 2021-04-03 17:42:52 · 144 阅读 · 0 评论 -
一个简单的整数问题2
一个简单的整数问题2具体代码如下#include<iostream>#include<cstring>using namespace std;typedef long long LL;const int N = 100010;int n, m;int a[N];LL tr1[N], tr2[N];int lowbit(int x){ return x & -x;}void add(LL tr[], int x, LL c){原创 2021-04-03 11:38:03 · 80 阅读 · 0 评论