数据结构
文章平均质量分 75
TC_jiang886
这个作者很懒,什么都没留下…
展开
-
线段树
NYIST 士兵杀敌(二) #include#includeint a[1000005];struct Tree{ int left,right; int sum;};struct Tree tree[2100000];//这种写法树的枝叶可能太多所以tree【】要申请的大一点 // 不能和a数组一样大 他的空间复杂度小于4*a数组应该开为a原创 2014-04-29 09:59:53 · 395 阅读 · 0 评论 -
rmq算法
1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。2.RMQ算法对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大转载 2014-11-23 13:00:28 · 409 阅读 · 0 评论 -
二分查找下界 下界
#include#includeusing namespace std;int a[10000];int Serch(int x,int y,int v)//二分查找下界当找不到的时候返回的是第一个大于,因为当出现a[x]小于v的时候,a[y]大于v的时候,x=(y+x)/2,程序会执行else,所以返回的时候就是y的值;{ int mid; while(x原创 2014-12-03 19:26:42 · 789 阅读 · 0 评论 -
poj 3518 Prime Gap 二分查找下界和素数筛法
/*题意:输入有多组数据,每组数据一个n,如果n是素数,输出0否则输出离n最近的两个素数的积,第100000个素数是1299709,所有的素数都在这个范围内思路:素数筛法加二分查找下界*/#includeint a[1299720],pri[100005];int Serch(int v)//二分查找下界{ int mid,x=0,y=100001;原创 2014-12-04 16:08:16 · 810 阅读 · 0 评论 -
后缀数组之最长公共前缀
#include#define maxn 100int main(){ int rank[maxn],height[maxn],sa[maxn]= {0,3,1,4,2},s[maxn]= {1,2,3,2,3};//s串可以看成abcbc int i,j,k=0; for(i=0; i rank[sa[i]]=i; for(i原创 2015-01-15 20:53:31 · 1058 阅读 · 0 评论 -
后缀数组之倍增算法
#include#include#includeusing namespace std;#define MAXN 123123char s[MAXN];int sa[MAXN],t[MAXN],t2[MAXN],c[MAXN],n;void build(int m){ int i,*x=t,*y=t2; //其实下面的是计数排序 f原创 2014-12-31 09:10:46 · 861 阅读 · 1 评论 -
大白书伸展树学习笔记
void splay(Node * &o,int k){ int d=o->cmp(k);//cmp函数比较的是k和o->ch[0]->s+1的大小 if(d==1) k-=o->ch[0]->s+1; if(d!=-1) { Node *p=o->ch[d]; int d2=p->cmp(k); i原创 2015-01-20 09:27:24 · 974 阅读 · 0 评论 -
树链剖分 FZU 2082
#include#include#includeusing namespace std;const int maxn = 50005;int val[maxn];struct node{ int l,r; long long sum;} xds[maxnvoid build(int ID,int l,int r){ xds[ID原创 2015-03-09 11:01:18 · 643 阅读 · 0 评论 -
hdu 5222
/*题意:直接按照样例来说:有t组数据,没有数据有n,m1,m2,n代表有n个点,m1代表有m1条无向边,m2代表有有m2条有向边,一条边只能走一次(也就是题上说的走过之后路会坍塌)如果有两个1 2 ,1 2 代表1和2之间有两条边首先对于所有的无向边,我们使用并查集将两边的点并起来若一条边未合并之前,两端的点已经处于同一个集合了,那么说明必定存在可行的环(原创 2015-05-03 10:57:35 · 1206 阅读 · 0 评论