数据结构
文章平均质量分 67
NOTTME
这个作者很懒,什么都没留下…
展开
-
Sicily10359(优先队列)
#include #include #include #include #include using namespace std;struct object{ int w,v;}A[300005];int bag[300005];bool cmp1(struct object a,struct object b){ return a.w<b.w;}c原创 2014-03-14 19:45:46 · 1059 阅读 · 0 评论 -
POJ3630(Trie树)
#include #include #include #include #include #include #include #include #include using namespace std;struct node{ bool flag; int next[10];}R[500005];char str[10005][15];int length[10原创 2014-05-27 23:56:55 · 553 阅读 · 0 评论 -
HDU1251(Trie树入门)
注意new的时候要初始化。#include #include #include #include #include #include using namespace std;struct node{ int total; struct node *next[26]; node() { total=0; memse原创 2014-05-26 20:36:51 · 463 阅读 · 0 评论 -
POJ2524(并查集)
if (getpar(parent,a)!=getpar(parent,b)) parent[parent[b]]=getpar(parent,a);原创 2013-07-10 19:38:35 · 645 阅读 · 0 评论 -
POJ1611(并查集)
#include #include #include #include using namespace std;int getpar(int* parent,int a){ if (parent[a]!=a) parent[a]=getpar(parent,parent[a]); return parent[a];}int main(){ int n,m; wh原创 2013-07-10 21:01:29 · 543 阅读 · 0 评论 -
HDU3047(带权并查集)
#include #include using namespace std;int parent[50005];int rank[50005];int X;int getpar(int a){ if (parent[a]!=a) { int tempar=parent[a]; parent[a]=getpar(parent[a]); ran原创 2014-03-20 18:04:27 · 620 阅读 · 0 评论 -
POJ2823(单调队列)
注意k等于1的情况。#include #include #include #include using namespace std;struct s{ int pos; int data;}A[100000];int main(){ int n,k; deque Q; scanf("%d%d",&n,&k); int i; for (i=0;i<=n-1;i原创 2013-11-08 08:01:52 · 504 阅读 · 0 评论 -
Sicily8539(单调队列)
#include #include #include #include using namespace std;struct p{ int data; int pos;}C[200005];int a[200005];int b[200005];int main(){ int n; int i; int T=0; while (1) { T++; d原创 2014-03-26 11:45:48 · 485 阅读 · 0 评论 -
Sicily1350(并查集)
#include #include #include using namespace std;int parent[1000005];bool hash[1000005];int getpar(int a){ if (parent[a]!=a) parent[a]=getpar(parent[a]); return parent[a];}int main(){ i原创 2013-12-21 11:57:05 · 665 阅读 · 0 评论 -
Sicily10481(并查集)
x y L其实表示x和y不同,x y T表示x和y相同。rank[x]表示第x个元素和其根节点的关系,rank[x]=1表示和根节点不同,rank[x]=0表示和根节点相同。特别注意当B集合合并到A集合的时候,B集合的根节点的rank值需要更新,且其所有子节点也可能需要更新,在路径压缩的时候进行特殊处理确保子节点能够得到正确的rank值。#include #include #inc原创 2014-03-19 17:59:25 · 566 阅读 · 0 评论 -
Sicily9162(单调队列)
先排序再维护每个区间的最小值。#include #include #include #include using namespace std;struct S{ int data; int pos;}dis[1000000];int main(){ const int maxn=1000000000; int N,K; dequ原创 2013-11-08 21:05:45 · 560 阅读 · 0 评论 -
HDU 4347 KNN+KDTree
暂时wrong answer,求各路大神指错。。#include #include #include #include #include using namespace std;struct POINT{ int p[5]; int &operator[](int x) { return p[x]; } co原创 2016-12-29 23:16:46 · 548 阅读 · 0 评论