数据结构
文章平均质量分 81
u010660276
这个作者很懒,什么都没留下…
展开
-
二叉树后继
二叉树后继如果有指向父亲的结点,则:1.如果当前结点有右儿子,或者当前结点是根结点,则后继结点为右子树的最左叶节点;2.否则,如果当前结点是父结点的左儿子,则后继结点就是父结点;(其实是第三种情况的一个特例,即自己是第0代祖先,返回第一代祖先)3.否则,向上遍历,直到n-1代祖先是n代祖先的左儿子,则后继结点为n代祖先;或者遍历到根节点后未找到符合的n代结点,则该结点为中序遍历的最后结点,没有后原创 2017-07-21 21:48:13 · 1077 阅读 · 1 评论 -
线段树+树状数组+二分+划分树+主席树+hdu4417
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-08-07 11:19:56 · 832 阅读 · 0 评论 -
划分树
划分树的定义 划分树定义为,它的每一个节点保存区间[lft,rht]所有元素,元素顺序与原数组(输入)相同,但是,两个子树的元素为该节点所有元素排序后(rht-lft+1)/2个进入左子树,其余的到右子树,同时维护一个num域,num[i]表示lft->i这个点有多少个进入了左子树。 划分树的Sample 如果由下而上看这个图,我们就会发现它和归并排序的(转载 2014-08-07 20:55:25 · 439 阅读 · 0 评论 -
划分树(模板)poj2104
Language:DefaultK-th NumberTime Limit: 20000MS Memory Limit: 65536KTotal Submissions: 37013 Accepted: 11911Case Time Limit: 2000MSDescriptionYou are原创 2014-08-07 21:45:13 · 474 阅读 · 0 评论 -
划分树(2010天津现场赛)hdu3727
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-08-08 20:14:01 · 522 阅读 · 0 评论 -
hdu3724+Trie树
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-08-08 17:55:48 · 517 阅读 · 0 评论 -
线段树+并查集uva1455Kingdom
There were n cities in an ancient kingdom. In the beginning of the kingdom, all cities were isolated. Kings ordered their subjects to construct roads connecting cities. A lot of roads were built with原创 2014-08-20 14:36:02 · 476 阅读 · 0 评论 -
Codeforces Round #FF (Div.2 )(C,D)
C. DZY Loves SequencesDZY has a sequence a, consisting of n integers.We'll call a sequence ai, ai + 1, ..., aj(1 ≤ i ≤ j ≤ n) a subsegment of the sequencea. The value (j - i + 1) denot原创 2014-07-14 11:13:09 · 557 阅读 · 0 评论 -
Codeforces Round #254 (Div. 2)(并查集,线段树)
B. DZY Loves Chemistrytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDZY loves chemistry, and he enjoys mixing chemi原创 2014-07-07 15:01:23 · 462 阅读 · 0 评论 -
Codeforces Round #250 (Div. 2)(B,C,D并查集)
比赛的时候没想明白。。。原创 2014-06-03 22:48:39 · 610 阅读 · 0 评论 -
stl应用+uva11020
#include#include#include#includeusing namespace std;struct node{ int a,b; bool operator <(const node &r)const { return a<r.a||(a==r.a&&b<r.b); }};multiset s;multiset::原创 2014-04-22 21:09:06 · 474 阅读 · 0 评论 -
并查集+poj食物链
方法一:#include#include#include#includeusing namespace std;const int maxn=50010;int pra[maxn],rank[maxn];int n,k;void init(){ for(int i=0;i<=n;i++) { pra[i]=i; rank[i]=原创 2014-04-16 21:38:38 · 465 阅读 · 0 评论 -
并查集向量偏移
http://poj.org/problem?id=1182这道食物链题目是并查集的变型,很久以前做的一次是水过的,这次仔细地研究了这“食物链”,无非就是运用向量偏移,从以前节点与节点转化成向量与向量的关系。我们可以把矛盾的产生得益于向量偏移时的结果。直接引出向量偏移的运用。 下面是POJ一位大牛这样理解的,本人稍有修改。对于集合里的任意两个元素a,b而言,它们之间转载 2014-05-01 22:42:50 · 1355 阅读 · 0 评论 -
SD五一联赛(加权并查集)
ArnyTime Limit: 3000MS Memory limit: 65536K题目描述Bad working coordinator was the everlasting trouble of their spaceship. Arny already had been working under this trouble while his not ve原创 2014-05-01 15:50:32 · 791 阅读 · 0 评论 -
树uva699
问处于同一列的节点的和。输出形式略坑#include#include#include#includeusing namespace std;const int maxn=10000;const int INF=100000000;struct node{ int data; node *left,*right; node(int num):data(原创 2014-03-10 11:11:21 · 516 阅读 · 0 评论 -
LCA+并查集应用(好题)poj3728
Language:DefaultThe merchantTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 3143 Accepted: 1047DescriptionThere are N cities in a country, and原创 2014-08-13 15:07:21 · 1154 阅读 · 0 评论 -
Trie树+并查集+欧拉回路poj2513
Language:DefaultColored SticksTime Limit: 5000MS Memory Limit: 128000KTotal Submissions: 30307 Accepted: 8007DescriptionYou are given a bunch of wooden st原创 2014-08-15 21:37:59 · 437 阅读 · 0 评论 -
字典树+map+hdu1800
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-08-17 21:47:38 · 452 阅读 · 0 评论 -
2015 Multi-University Training Contest 5(hdu5343 - 5352)网络流+yy+(哈夫曼树+dp)
MZL’s xorProblem DescriptionMZL loves xor very much.Now he gets an array A.The length of A is n.He wants to know the xor of all (Ai+Aj)(1≤i,j≤n)(A_i+A_j)(1\leq i,j\leq n) The xor of an array B is defi原创 2015-08-06 12:00:59 · 857 阅读 · 0 评论 -
最近点对
#include #include #include #include #include #include #include #include #include #include #include using namespace std; const in原创 2015-07-20 10:39:38 · 393 阅读 · 0 评论 -
2015 Multi-University Training Contest 6 (hdu 5357 - Easy Sequence)栈的应用
Easy Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 643 Accepted Submission(s): 185Problem Description soda has a string conta原创 2015-08-11 20:19:18 · 464 阅读 · 0 评论 -
快速排序
#include<bits/stdc++.h>using namespace std;int a[100];int N;void QuickSort(int l,int r){ if(l<r) { int s=a[l]; int i=l,j=r+1; while(true) { whil原创 2015-07-12 14:41:33 · 364 阅读 · 0 评论 -
2013 ACM-ICPC吉林通化全国邀请赛(hdu 4493 - 4599)(并查集+dp+数学+判奇环+差分约束)
D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 2437 Accepted Submission(s): 859Problem Description Luxer is a really bad guy. He d原创 2015-07-11 16:49:22 · 1122 阅读 · 0 评论 -
带权并查集(hdu2818)
Building BlockTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3552 Accepted Submission(s): 1067Problem DescriptionJohn are playin原创 2015-03-22 21:23:48 · 362 阅读 · 0 评论 -
并查集+treap实现名次数(BZOJ2733)
2733: [HNOI2012]永无乡Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1351 Solved: 710[Submit][Status]Description永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间原创 2015-03-03 20:44:27 · 455 阅读 · 0 评论 -
Treap实现名次树
// LA5031 Graph and Queries// Rujia Liu#includestruct Node { Node *ch[2]; // 左右子树 int r; // 随机优先级 int v; // 值 int s; // 结点总数 Node(int v):v(v) { ch[0] = ch[1] = NULL; r = rand(); s = 1; }原创 2014-09-10 20:39:17 · 662 阅读 · 0 评论 -
树的直径hdu3721
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-08-13 20:20:03 · 1073 阅读 · 0 评论 -
伸展树splay+uva11922
#include#include#includeusing namespace std;struct Node{ Node *ch[2]; int s; int flip; int v; int cmp(int k) const { int d = k - ch[0]->s; if(d == 1) retu原创 2014-09-11 21:53:03 · 575 阅读 · 0 评论 -
2014上海网络赛(DLX,树链剖分,java)
kuangbin大神的题解原创 2014-09-28 11:28:45 · 679 阅读 · 0 评论 -
最小生成树(kruskal)Codeforces 472D
D. Design Tutorial: Inverse the ProblemThere is an easy way to obtain a new task from an old one called "Inverse the problem": we give an output of the original task, and ask to generate an in原创 2014-10-08 22:14:43 · 1025 阅读 · 0 评论 -
BestCoder17(B,C)good
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu原创 2014-11-09 19:42:27 · 441 阅读 · 0 评论 -
快速排序
#include using namespace std;int a[100],n,temp;void QuickSort(int *a,int l,int r){ if(l<r) { int s=a[l]; int i=l,j=r+1; while(1) { while(i+1<n&&原创 2013-11-14 22:21:39 · 433 阅读 · 0 评论 -
树uva112
这题的输入有些麻烦,参考了人家的代码,很简洁,很厉害#include #include #include #include #include #include using namespace std; int flag; int t_sum(int n,int sum) { int data; char c; cin>>c原创 2014-03-04 22:30:28 · 801 阅读 · 1 评论 -
并查集uva1329(LA3027)
思路:查询的时候,维护一个距离数组,保存每次改变父节点后,每个节点到根节点的距离。#include#includeusing namespace std;const int maxn=20010;int n,pra[maxn],rank[maxn],dis[maxn],head[maxn];void init(){ for(int i=0;i<=n;i++) {原创 2014-02-19 17:48:18 · 557 阅读 · 0 评论 -
并查集uva1160
题意:简单化合物是由两种元素组成,如果有k种化合物,并且恰好有k中元素就会爆炸,按输入顺序给出化合物,问有多少化合物不能放入。如果两种元素已经在集合里,就不能放入。#include#include#includeusing namespace std;const int maxn=100010;int pra[maxn],rank[maxn];int find(int x){原创 2014-02-19 17:00:11 · 533 阅读 · 0 评论 -
栈的应用uva673
括号匹配问题#include#include#include#includeusing namespace std;int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif int t; cin>>t; getchar(); while(原创 2014-02-21 21:43:58 · 436 阅读 · 0 评论 -
栈uva10152
首先找到需要移动的字符串,方法如下:以初始序列为准,设初始序列下标为i, 目的序列下标为j, 从n-1开始,如果两下标对应的字符串相等,下标同时减一,否则仅初始序列下标减一。那么目的序列中还未被成功匹配的字符串就是需要移动的字符串。要使移动次数最少,显然应该按未被处理的目的序列中字符串逆序移动(输出)。#include#include#include#include#includeu原创 2014-02-21 21:12:44 · 475 阅读 · 0 评论 -
并查集+uva10158
Problem B: War A war is being lead between two countries, A and B. As a loyal citizen of C, you decide to help your country’s espionage by attending the peace-talks taking place these days原创 2014-02-01 15:32:29 · 619 阅读 · 0 评论 -
Codeforces Round #214 (Div. 2)(背包变形)
A. Dima and Guards只需要比较一下,守卫的最小要求的和与给定值的大小即可#include#includeusing namespace std;int n,x1,y1,x2,y2;int who,choc,juice;bool can(int x,int y){ return x+y<=n;}int main(){ cin>>n;原创 2014-01-14 17:01:23 · 672 阅读 · 0 评论 -
uva127
数据结构线性表,写起来就是蛋疼。。。下面是代码,用vector写的2.7飘过,还是数组快#include#include#include#include#includeusing namespace std;const int maxn=60;vector > grid(maxn,vector(maxn));int cnt[maxn];int x,y;bool proc原创 2014-01-01 22:56:20 · 537 阅读 · 0 评论