数据结构
文章平均质量分 60
米夏Offical
这个作者很懒,什么都没留下…
展开
-
树状数组
树状数组原创 2016-04-27 14:49:10 · 204 阅读 · 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 · 688 阅读 · 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 · 268 阅读 · 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 · 212 阅读 · 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 · 261 阅读 · 0 评论 -
codevs p1082线段树 区间修改
codevs 1082原创 2016-05-30 22:10:48 · 242 阅读 · 0 评论 -
splay
#include#include#define inf 1000000000using 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 · 219 阅读 · 0 评论 -
treap模板
测试,自动去重151 2 3 4 5 6-51 15 2 22 22 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 · 271 阅读 · 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#includestruct Node { Node转载 2016-04-29 20:54:31 · 449 阅读 · 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 · 202 阅读 · 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 · 350 阅读 · 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 · 397 阅读 · 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 · 538 阅读 · 0 评论