
数据结构
文章平均质量分 78
__简言
如能忘掉渴望 岁月长 衣裳薄
展开
-
POJ--3394[Containers] 哈希判重
数据结构者,“数据间关系+数据存储方式”也。选择何种数据结构,取决于需要解决什么样的问题。任何一个数据结构都有它的优势,这个优势说白了就是“本数据结构在进行XX操作时快”,而选择何种数据结构就看要解决的问题需要在数据结构上进行何种操作来决定。哈希表就是体现这个道理的一个很好的例子原创 2011-07-24 11:36:43 · 2706 阅读 · 0 评论 -
2011ACM上海邀请赛B题(Boring Homework)----模拟题
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=242&problem=3161&mosmsg=Submission+rece原创 2011-07-24 12:47:05 · 967 阅读 · 0 评论 -
POJ--2823[Sliding Window] 线段树或优先队列
题意:说得很明白,这里就不说了。。。 思路:(1):一开始感觉是到很裸的线段树(节点存区间极值),所以就敲了下代码,1A.....(2):不过看了下discuss,后面写着能用优先队列实现,不过我不太会,参考了网上的方法也A了。 感想:STL很强大。。。。。 CODE(1):线段原创 2011-07-23 21:29:37 · 799 阅读 · 0 评论 -
POJ---3274[Gold Balanced Lineup] 数组的hash
hash函数抄网上的,自己写的死活没过: /*数组的hash*///思路://(1):sum[i][j]表示前i头牛第j个特征的总和//(2):sum[b][j]-sum[a-1][j];表示[a,b]头牛第j个特征总和//(3):sum[b][1]-sum[a-1][1]=.原创 2011-07-24 11:51:21 · 786 阅读 · 0 评论 -
HDU--3911[Black And White] 线段树
题意:很简单,不多说了、、 思路:线段树 1.区间域:s,e,len:分别表示区间的起点,终点,和区间长度 ll1:左边起最长的连续1个数;rr1:右边起最长的连续1个数;maxs1:当前区间内最长的连续1个数; ll0:左边起最长原创 2011-08-07 23:25:16 · 815 阅读 · 0 评论 -
POJ--3580[SuperMemo] Splay_Tree
第一道Splay_Tree.题意:给你一段区间,有M个操作,让你对这段区间进行维护。区间操作:(1):ADD x y D 对一段区间都增加一个值value(2):REVERSE x y 翻转一个区间(3原创 2011-09-08 12:40:51 · 1468 阅读 · 0 评论 -
HDU--3487[Play with Chain] Splay_Tree
比较基础的Splay_Tree; 区间操作:(1):CUT a b c :将区间[a,b]切下来插入到c后面;(2):FLIP a b :对区间[a,b]进行翻转操作 CUT a b c:inline void Delete(int pos,int c原创 2011-09-08 22:13:20 · 1188 阅读 · 0 评论 -
HDU--3887[Counting Offspring] DFS标号+线段树O(N*logN)
思路:(1):dfs对每个点标号。记录每个点的开始时间S和结束时间E.(2):按顺序一次查询并访问每个结点。(3):查询并访问:for(i=1;i<=N;i++){ f[i]=Query(1,S1[i],E1[i]); Update(1,S1[i]);原创 2011-08-10 23:18:57 · 1125 阅读 · 0 评论 -
链表操作
到现在链表都不太会,贴份模版供自己看=。=/*链表操作*/#include #include #include struct node{ int v; node *next;};int n,m,x,y;node *root;void Print() //打印序列{ node *p=root; printf("%d",p->next->v); p=p->原创 2012-02-03 23:36:09 · 828 阅读 · 0 评论