数据结构
文章平均质量分 69
wmn_wmn
这个作者很懒,什么都没留下…
展开
-
STL 之map 杭电1075
话说这道题我本来是想用来练字典树的,没想到用map竟然也可以做出来,而且代码还这么的简便,,,stl真的很强大啊,,,而且代码对字符串的处理也很精妙,,,是一道好题。。。。。题目:Ignatius is so lucky that he met a Martian yeste原创 2011-09-20 16:23:17 · 2959 阅读 · 1 评论 -
NYOJ 138 找球号 简单的离散+简单的哈希思想
这道题用了点离散,,,其实也就是哈希表的思想。以前有过哈希表的思想,但是一直没有实现过,,,,这道题算是第一道伪哈希吧。。。想明白的话,不是太难。。。。题目:找球号(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=10000000原创 2011-10-21 16:38:16 · 1056 阅读 · 0 评论 -
杭电 1856 并查集路径压缩+按秩合并
这道题是下午看的,当时看了不会,后来看算法导论上有,有看了一些其他的资料,就做出来了。不过杭电数据坑爹啊,,,竟然有n=0的情况,让我wr了好几次。。。。题目:More is betterTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others)Total Submiss原创 2011-10-26 21:45:30 · 1693 阅读 · 0 评论 -
杭电 3371 kruskal()算法
话说这道蛋疼的题,是专题里面的,我现在还是没有过,,,,,,TLE到吐血,,TLE了20多次,,,还是过不了。G++真让人蛋疼,,,在外面用C++,600ms过了。蛋疼,,,,,,,听说用prime900多ms可以过,,囧,,,明天看看prime算法,,再试试。。。。。题目:Connect the CitiesTime Limit: 2000/1000 MS (Java/Other原创 2011-11-01 12:28:27 · 979 阅读 · 0 评论 -
杭电3371 prime()算法
蛋疼的G++,,不解释。不过最近看楼教主似乎提交的代码都是用G++的,,,,看来以后提交代码都用G++吧,,,,能提高水平。。。。。用prime算法过的,,,跑了900多ms,,,无语,,,求优化!G++ac代码:#include #include #include using namespace std;const int N=502;//const int INF=0xf原创 2011-11-01 12:34:52 · 1169 阅读 · 1 评论 -
NYOJ 118 次小生成树
先是prime算法纠结了一天,,,,,然后这个次小生成树又纠结了一天。本来昨天能搞出来的,,,昨天满课,晚上又开会,,,就推到了今天上午,,,,在10点之前做了出来。。贡献了几次wr,,,,,不容易啊。。。深刻理解了prime,,写次小生成树时应该会容易一点点。 次小生成树的两种算法:算法1、step 1. 先用prim求出最小生成树T. 在prim的同时原创 2011-11-01 12:25:57 · 1165 阅读 · 0 评论 -
NYOJ 257 中缀表达式表示成后缀表达式
话说这道题代码那个丑陋啊,,写出来我自己都不想再看第二遍啊。。。看了看聪神的代码,还消耗我3个NYOJ币啊,,更扯得是,聪神的代码我看不懂啊,,,,卧槽。。。这道题不再多说了,数据结构上有详细的介绍,主要就是输入的时候巧妙利用sscanf()函数就可以了。。题目:郁闷的C小加(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述我们熟悉的表达原创 2012-03-24 11:11:52 · 1137 阅读 · 0 评论 -
NYOJ 467 中缀式变后缀式
和上午写的那道题基本一样,不同的是,这道题是实数,所以处理数的时候遇到了点问题,刚开始一直想不出来怎么处理,后来和rihkddd打了会乒乓球,回来后立马就想明白了。。。题目:中缀式变后缀式时间限制:1000 ms | 内存限制:65535 KB难度:3描述人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更“习惯于”后缀式,关于算术表达式原创 2012-03-24 15:31:28 · 1080 阅读 · 0 评论 -
杭电 1710 二叉树
这道题是给出你二叉树的中序遍历和前序遍历,让求后序遍历。思路很简单,先建立一颗二叉树,之后再后序遍历二叉树即可。题目:Binary Tree TraversalsTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1326原创 2012-03-28 18:34:56 · 1140 阅读 · 1 评论 -
杭电 3791 搜索二叉树
话说这道题是一个恶心啊,,,试了各种各样的方法,各种各样的错误都犯了,,从wa再到离奇的re,,,各种恶心啊。。。最后还是用数组模拟过了。。。题目:二叉搜索树Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 854原创 2012-03-29 14:06:31 · 1046 阅读 · 0 评论 -
POJ 1308 Is It A Tree?
以前做过这道题,是用并查集判断环做出来的。昨天晚上临走前看这道题时,感觉完全不需要用并查集,于是就又写了一遍,没用到并查集,完全就是用树的定义来写的。不过需要注意的是,空树也是一颗树,即0 0也是一棵树,这点太难想了。。。。 根据树的定义,在有n个结点的树中,只能有n-1条边,多了或者少了都不是树;只有一个入度为0的点;其他点的入度都为1;根据这些就可以判断是否是一棵树。题目:s原创 2012-04-12 08:39:28 · 1067 阅读 · 0 评论 -
NYOJ 202 红黑树 数组模拟中序遍历
题目其实在迷惑人了,红黑树经过旋转后中序遍历其实是不变的,所以不用管下面的旋转,直接输出中序遍历就可以了。可以用数组模拟实现树的中序遍历。 题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=202ac代码:#include #include #include using namespace std;cons原创 2012-05-09 08:35:21 · 3902 阅读 · 3 评论 -
字典树的简单应用 NYoj 290
这是一道字典树的典型应用,算是一道简单题吧,我是刚学字典树,话说也是理解了一天才理解了这种数据结构,,学数据结构的孩子你伤不起啊。。。。。。题目:在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片原创 2011-09-19 18:17:48 · 1194 阅读 · 1 评论 -
杭电1251 字典树典型应用
一道字典树的简单题,,不过对于我这种刚学字典树的菜鸟来说,还是纠结了很长时间,,,可以留下来做个模板,,,,题目:Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也原创 2011-09-20 09:06:01 · 924 阅读 · 0 评论 -
线性表中插入元素
算法2.4.写这个算法花了很长一段时间,唉,看来对线性表还是不够理解,继续努力,下面是代码#include using namespace std;#define maxsize 10#define sizeincrement 5typedef int elemt原创 2011-08-30 21:05:28 · 2897 阅读 · 0 评论 -
合并两个线性表
严蔚敏版数据结构,算法2.1#include using namespace std;typedef int element;#define maxsize 100typedef struct{ element aa[maxsize]; int last;}s原创 2011-08-30 17:45:40 · 1653 阅读 · 0 评论 -
数据结构之两个线性表的合并
严蔚敏版的教材,算法2.2,下面是代码实现。。。。#include using namespace std;typedef int element;#define maxsize 100typedef struct{ element aa[maxsize];原创 2011-08-30 17:22:14 · 12453 阅读 · 2 评论 -
数据结构之创建线性表
终于可以用代码实现创建线性表了。。。。。。。#include using namespace std;#define Listinitsize 100//线性表的初始分配量#define Listincrement 10//线性表存储空间的分配增量#define ok 0原创 2011-08-30 16:25:02 · 5755 阅读 · 0 评论 -
新学期,新开始
转眼已经大二,搞了大半年的acm了,现在想起来,总感觉以前是为了做题而做题,做了那么多题,没有起到应有的效果。算上杭电oj上的,大约做了有240道题吧,然而做题时心浮气躁,完全失去了ac的意义,纯粹是为了刷题而刷题。新学期开始,决定要改正以前的习惯,让每一道题都做得有价值。先从数原创 2011-08-30 16:07:38 · 644 阅读 · 0 评论 -
数据结构之删除线性表中的元素
严蔚敏版教材,算法2.4,代码实现#include using namespace std;typedef int element;#define maxsize 100typedef struct{ element aa[maxsize]; int las原创 2011-08-31 14:41:12 · 1235 阅读 · 0 评论 -
hdu 1394 树状数组求逆序数
以前用过线段树求逆序数,这次想用树状数组试一下,悲催的是想了好久才想明白。。。。看来对树状数组还是不够了解啊。纠结。。。。题目:Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others) Memo原创 2011-10-12 11:09:04 · 1286 阅读 · 0 评论 -
hdu 1251 字典树的简单应用
是一道字典树的简单应用,群里面组织的专题练习,又做了一遍,比较简单,属于字典树的入门题。。。。。。。。题目:统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java原创 2011-10-12 14:08:30 · 750 阅读 · 0 评论 -
hdu 1671 字典树
这真是一道悲催的题,本来对字典树都是入门阶段,,又碰到这么一道BT的题,悲剧。。。想这道题想了好久,好不容易想出来怎么做,没想到又MLE了,气得半死。怎么也想不出来怎么优化内存,后来问了位学长,才知道每次都可以释放内存,,,,囧,,这次算是长见识了,以前根本不知道还可以释放内存,原创 2011-10-13 14:44:45 · 860 阅读 · 0 评论 -
hdu 1800 字典树
昨天用STL中的map做了一下这道题,今天又用字典树做了一下。。。不过这道题的数据真是BT。。。。。无语。。。。。。。题目:Flying to the MarsTime Limit : 5000/1000ms (Java/Other) Memory Lim原创 2011-10-14 18:13:01 · 1531 阅读 · 1 评论 -
hdu 3460 字典树
这道题想了3天,,,,,还是没有想出来。刚开始把题意理解错了,后来明白错在哪里后,还是做不出来,,,,,,,,就这样一直纠结。。。。最后还是没能做出来。上网看了看,才明白自己想得方向都是错得。杯具,稍微有点难度的字典树就做不出来了,看来对字典树的理解还是不够深刻啊。。。。。还需要原创 2011-10-18 14:38:17 · 1156 阅读 · 0 评论 -
POJ 2777 线段树+lazy思想 + 染色问题
来源:http://poj.org/problem?id=2777题意:有一个区间,最多有30种颜色。有两种操作,一种是对某一个区间段染上某一种颜色,一种是询问该区间有多少种不同的颜色。思路:线段树的好题,线段树 + lazy思想的经典应用。而且和位运算结合到了一起。因为颜色数量很少,而且父结点的颜色正好是两个子结点颜色的按位或,因此可以用位运算。最后1的个数就是不同颜色的个数。ac代原创 2012-04-17 11:29:47 · 4258 阅读 · 1 评论