数据结构
文章平均质量分 60
米夏Offical
这个作者很懒,什么都没留下…
展开
-
树状数组
树状数组原创 2016-04-27 14:49:10 · 202 阅读 · 0 评论 -
noi2015 d1t2 软件包管理器
树链剖分 对于删除操作,之前不会写子树修改的时候暴力写了dfs 最终发现原来只要将dfs序应用一下即可 #include #include #include #include using namespace std; const int MAXN = 100000 + 5; int sum[MAXN<<2],lazy[MAXN<<2]; int ec=0,fst[MAXN],to[MA原创 2016-06-03 22:01:18 · 686 阅读 · 0 评论 -
树链剖分codevs p4633
模板题 #include <bits/stdc++.h> #define lc (o<<1) #define rc (lc|1) #define m ((l+r)>>1) using namespace std; const int MAXN = 100000 + 5; int lazy[MAXN << 2], sum[MAXN <...原创 2016-06-01 19:22:13 · 264 阅读 · 0 评论 -
后缀数组
//后缀数组,尚有bug #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> //#define rep(i, a, b) for(int i=a;i<b;i++) using namespace std; const int MAXN ...原创 2016-04-24 17:36:01 · 210 阅读 · 0 评论 -
AC自动机(HDU2222 HDU3065)
//HDU2222 #include <bits/stdc++.h> using namespace std; const int MAXN = 500000 + 5; const int SIGMA = CHAR_MAX; int f[MAXN], last[MAXN]; struct trie { int ch[MAXN][SIGMA]; int val[MA...原创 2016-04-24 17:30:06 · 257 阅读 · 0 评论 -
codevs p1082线段树 区间修改
codevs 1082原创 2016-05-30 22:10:48 · 241 阅读 · 0 评论 -
splay
#include #include #define inf 1000000000 using namespace std; int ans,n,t1,t2,rt,size; int tr[50001][2],fa[50001],num[50001]; void rotate(int x,int &k) { int y=fa[x],z=fa[y],l,r; if(tr[y][0]==转载 2016-05-03 18:23:31 · 217 阅读 · 0 评论 -
treap模板
测试,自动去重 15 1 2 3 4 5 6 -5 1 15 2 22 2 2 2 2 #include #include #include #include using namespace std; const int MAXN = 80005; const int INF=0x7fffffff; int ch[MAXN][2],原创 2016-04-29 22:35:07 · 267 阅读 · 0 评论 -
treap by:刘汝佳
备忘 白书代码的基础上有部分改进 // Rank Tree // Rujia Liu // 输入格式: // m 操作有m个 // 1 x 插入元素x // 2 x 删除元素x。如果成功,输入1,否则输出0 // 3 k 输出第k小元素。k=1为最小元素 // 4 x 输出值x的“名次”,即比x小的结点个数加1 #include struct Node { Node转载 2016-04-29 20:54:31 · 448 阅读 · 0 评论 -
hdu2222
ac自动机,模板题 #include #include using namespace std; const int MAXN = 500000+5; const int LEN = 50+5; const int SIGMA = 26; char a[LEN],b[MAXN*2]; int trie[MAXN][SIGMA],q[MAXN],f[MAXN],val[MAXN],vis[MA原创 2016-04-27 15:05:01 · 200 阅读 · 0 评论 -
codevs p1285
数据结构模板题 set #include #include #include using namespace std; const int INF = 0x7fffffff; const int MOD = 1000000; int main() { set s; s.clear(); s.insert(INF); s.insert(-INF); int n; int ans原创 2016-04-27 14:52:55 · 346 阅读 · 0 评论 -
BKDRHash
一个简单的hash #include #include using namespace std; unsigned ans=0; unsigned BKDRHash(char *str) { unsigned seed = 131; // 31 131 1313 13131 131313 etc.. unsigned hash = 0; while (*str)has原创 2016-04-27 14:51:44 · 394 阅读 · 0 评论 -
NOIP2015 运输计划 树链剖分 差分 二分
#include using namespace std; int n,m; int fst[MAXN],next[MAXN<<1],len[MAXN<<1],to[MAXN<<1],ec=0; int u[MAXN],v[MAXN]; int cur[MAXN]; int son[MAXN],size[MAXN],fa[MAXN],dep[MAXN],dfn[MAXN],top[MAXN];原创 2016-06-11 19:26:55 · 537 阅读 · 0 评论