
数据结构
SugarSBN
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线段树离散化
/* 线段树离散化 by sbn */#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<vector>using namespace std;#define pb push_back#define mp转载 2017-12-24 16:00:35 · 262 阅读 · 0 评论 -
【模板】 Splay luogu3391
/* Splay luogu P3391 by sbn 2018-4-2 */ #include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<map>#include<algorithm>#include<...原创 2018-04-02 20:37:19 · 177 阅读 · 0 评论 -
【树链剖分】【模板】
/* P3384 树链剖分 by sbn 2018-3-31 */ #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>#include<queue>#include<vect...原创 2018-03-31 22:19:06 · 124 阅读 · 0 评论 -
【Treap模板】【指针】【luogu3369】
/* Treap luogu3369 by sbn*/#include<iostream>#include<cstdio>#include<cstdlib>#include<ctime>#include<cstring>#include<string>#include<algori...原创 2018-03-21 19:14:03 · 275 阅读 · 0 评论 -
【线段树】标记永久化
/* Segment tree 标记永久化 by sbn 2018-3-30 */ #include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>#include...原创 2018-03-30 22:36:34 · 662 阅读 · 0 评论 -
【线段树】 来自xuzihanlla “http://www.cnblogs.com/xuzihanllaa/p/8324871.html” 好写不易错
一、线段树是什么?1.我们为什么要使用线段树?如果只是为了维护一个序列本身,直接用数组就行了,不必使用线段树,就好比能用线段树的时候没必要码个treap上去。线段树的核心作用是维护一个序列的信息,当然这个信息不是什么都行,必须满足区间加法(见ZKW的PPT《统计的力量》)。e.g.可以维护区间和,区间平方和,区间方差等等(都是些基础运用)。2.线段树支持哪些操作?即便是最低级的线段树也应该支持单点...转载 2018-03-29 20:19:32 · 220 阅读 · 0 评论 -
Hash 线段树离散化
inline void hash_init(){ Hash.clear(); for (int i=1;i<=n;i++) { Hash.pb(a[i].first); Hash.pb(a[i].first+1); Hash.pb(a[i].second); Hash.pb(a[i].second+1);原创 2018-01-12 21:17:24 · 234 阅读 · 0 评论 -
BIT应用 逆序对 POJ2299
/* POJ2299 BIT+逆序对 by sbn 2018-1-12*//* 59105431230*/#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<vector>#include<algorithm>#define原创 2018-01-12 21:12:52 · 207 阅读 · 0 评论 -
主席树+动态开点
/* the k-th number 主席树+动态开点 by sbn 2017-12-26 */#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>using namespace std;typedef long long ll;str原创 2017-12-26 22:07:15 · 556 阅读 · 0 评论 -
BIT简单版
/* BIT by sbn 2017-12-30 P3374*/#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;int C[2000010],n,m;int lowbit(int x){ return x & -x;}int add(int x,in原创 2017-12-30 20:23:11 · 171 阅读 · 0 评论 -
RMQ区间最值(线段树)
/* RMQ区间最值 线段树版 by sbn*/#include<iostream>#include<cstdio>using namespace std;int n;int arr[1000001],tree[2000001];void build(int root,int st,int ed){ if (st==ed) tree[root]=原创 2017-12-25 19:53:55 · 261 阅读 · 0 评论 -
线段树区间乘法+区间加法
/* 线段树区间乘法+区间加法 by sbn*/#include<iostream>#include<cstdio>using namespace std;typedef long long ll;ll n,m,p,z;ll arr[100001];struct node{ ll l,r; ll sum,add,mul;} tree[原创 2017-12-25 19:51:36 · 1312 阅读 · 0 评论 -
可持久化线段树(主席树)
/* 可持久优化线段树 POJ2104 区间第k大值 k-th number by sbn 2017-12-21 */#include<iostream>#include<cstdio>#include<vector>#include<cstdlib>#include<algorithm>using namespace std;typedef long转载 2017-12-24 16:00:06 · 128 阅读 · 0 评论 -
【带修莫队】【国家集训队】数颜色
/* Luogu P1903 数颜色 by sbn 2018-4-25 */#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>#include<queue>#include<...原创 2018-04-25 20:04:18 · 202 阅读 · 0 评论