数据结构***************
文章平均质量分 63
「已注销」
我的目标 离我还有多远我的梦想 有点遥不可及我要用十倍苦心做最突出一个我不能退缩 不管路多艰难 我都要努力我要靠自己的双手去做自己喜欢做的事我要靠自己的努力去我想去的地方旅游我还年轻 我还可以去奋斗
展开
-
Trie树
字典树查询#include#include#includeusing namespace std;const int maxn = 30;typedef struct Trie{ int v; Trie *next[ maxn ];}Trie;Trie root;void CreateTrie( char *str ){ int len = strlen( st原创 2014-07-13 11:57:25 · 1154 阅读 · 0 评论 -
Ubiquitous Religions(并查集)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/F// File Name: f.cpp// Author: bo_jwolf// Created Time: 2013年10月16日 星期三 16:54:03#include#include#include#include#include原创 2013-10-16 17:17:30 · 985 阅读 · 0 评论 -
Cipher Message
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/C// File Name: c.cpp// Author: bo_jwolf// Created Time: 2013年10月16日 星期三 16:08:12#include#include#include#include#include原创 2013-10-16 16:41:07 · 1056 阅读 · 0 评论 -
Train Problem I
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/B数据结构:重新写这题,是参考别人的思路写的,自己定义还是习惯性在主函数外定义,但是一直WA,后来才发现,由于temp,和Q是全局变量,但是却没有清除上次使用的记录// File Name: b.cpp// Author: bo_jwolf// C原创 2013-10-16 11:21:00 · 777 阅读 · 0 评论 -
砝码称重 2
http://wikioi.com/problem/2144/// File Name: wiki2144.cpp// Author: bo_jwolf// Created Time: 2013年08月17日 星期六 15时00分04秒#include#include#include#include#include#include#include原创 2013-08-17 16:25:49 · 1301 阅读 · 0 评论 -
hdu1394-Minimum Inversion Number(线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1394线段树,序列数定义;如下链接,证明比较详细http://wenku.baidu.com/view/6e02b7492e3f5727a5e9623f.html// File Name: hdu1394.cpp// Author: bo_jwolf// Created Time: 2013年08月1原创 2013-08-16 19:51:40 · 824 阅读 · 0 评论 -
hdu2795Billboard(线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=2795单点更新,树存储的为某一行内剩余的长度// File Name: hdu2795.cpp// Author: bo_jwolf// Created Time: 2013年08月16日 星期五 22时13分41秒#include#include#include#include#in原创 2013-08-16 22:42:43 · 831 阅读 · 0 评论 -
家族(并查集)
http://wikioi.com/problem/1073/典型并查集,只需要判断find( x ) 和find( y) 是否在一个集合里面即可// File Name: wiki1073.cpp// Author: bo_jwolf// Created Time: 2013年08月17日 星期六 16时36分22秒#include#include#include#inc原创 2013-08-17 16:45:00 · 1156 阅读 · 0 评论 -
约瑟夫问题(线段树)
http://wikioi.com/problem/1282/// File Name: wiki1282.cpp// Author: bo_jwolf// Created Time: 2013年08月17日 星期六 10时24分52秒#include#include#include#include#include#include#include#include#inc原创 2013-08-17 11:16:41 · 1174 阅读 · 0 评论 -
hdu1166-敌兵布阵(线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1166// File Name: hdu1166.cpp// Author: bo_jwolf// Created Time: 2013年08月16日 星期五 11时27分03秒#include#include#include#include#include#include#include原创 2013-08-16 13:02:25 · 832 阅读 · 0 评论 -
hdu1753I Hate It(线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=1754单点更新,区间求最值// File Name: hdu1166.cpp// Author: bo_jwolf// Created Time: 2013¿?08¿?16¿? ¿?¿?¿? 11¿?27¿?03¿?#include#include#include#include#incl原创 2013-08-16 13:04:32 · 951 阅读 · 0 评论 -
线段树练习
http://wikioi.com/problem/1080/第一个线段树// File Name: 1080.cpp// Author: bo_jwolf// Created Time: 2013年08月14日 星期三 21时42分53秒#include#include#include#include#include#include#include#includ原创 2013-08-14 22:32:27 · 717 阅读 · 0 评论 -
scu-3296: Windy's S
http://cstest.scu.edu.cn/soj/problem.action?id=3296最小表示法// File Name: 3296.cpp// Author: bo_jwolf// Created Time: 2013年08月14日 星期三 17时30分27秒#include#include#include#include#include#include原创 2013-08-14 17:34:24 · 997 阅读 · 0 评论 -
合并果子
http://wikioi.com/problem/1063/// File Name: 1063.cpp// Author: bo_jwolf// Created Time: 2013年08月13日 星期二 19时55分50秒#include#include#include#include#include#include#include#include#include原创 2013-08-14 11:11:39 · 919 阅读 · 0 评论 -
Argus
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/E// File Name: e.cpp// Author: bo_jwolf// Created Time: 2013年10月16日 星期三 21:30:15#include#include#include#include#inclu原创 2013-10-16 21:55:18 · 874 阅读 · 0 评论 -
Fence Repair
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/D切木头,价值最大,用到优先队列// File Name: d.cpp// Author: bo_jwolf// Created Time: 2013年10月16日 星期三 20:15:21#include#include#includ原创 2013-10-16 20:23:25 · 935 阅读 · 0 评论 -
约瑟夫环
数据结构课设,最简单的约瑟夫环/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 实验题1.2 问题描述: 编号为1,2,···,n的n个人围坐在一圆桌旁,每人持有一个正整数的原创 2013-12-17 15:39:46 · 1188 阅读 · 0 评论 -
hm 与 zx 的故事系列1/2/3
题意:从首位开始,找到在其后的最近的每一位的比它大的数;解析;使用栈(stack)进行存储满足条件的值;从最后一个数进行入栈,当栈顶数大于当前位置时跳出此时循环(即证明,在当前位置后有至少一个比它大的数,而栈顶的值是最近的),否则进行出栈(即此时栈内值小于当前位置,当最后栈为空时,代表在当前位置后没有比它大的值,所以当前位置的值为0),最后将此时位置的值压入栈底;执行到最后,即刻筛出满足题原创 2013-11-30 00:39:56 · 1675 阅读 · 0 评论 -
Buy Tickets
http://poj.org/problem?id=2828线段树单点更新题意:场景为排队买票,按照输入,可以插队,问最后的队列的顺序是怎么样的解析:以序号构造线段树,以左子树来记录,然后查询并更新相应位置的编号(第二个数值);// Buy Tickets.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#include#in原创 2013-11-11 21:16:10 · 1025 阅读 · 0 评论 -
Junk-Mail Filter
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/G题意:给你n个数,和m步操作,其中操作为M和S, M a b代表a和b处于同一集合中,S a代表将a及其集合都删除,最后统计集合的个数解析:其余基础并查集,但是用到了并查集的删除操作; 并查集的删除操作,可以理解为开辟双重范围的数组,初始化时原创 2013-10-22 16:46:22 · 1289 阅读 · 0 评论 -
Hotel
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34869#problem/E题意:场景是:给你一个有n个房间的宾馆,现在开房间是只能是连续的房间,1是查找,2是插入;当输入1时就输出能不能插入时房间的首个房间的序号,否则输出0;当输入2时,删除从a开始的b个房间数;线段树,懒惰标记,区间更新;// 3e.cpp原创 2013-10-28 22:03:36 · 727 阅读 · 0 评论 -
Dragon Balls
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/D无力吐槽,少了memset这个头文件,居然判断的是TLE。。。题意:给你N个标记了的点,从1~N代表第几颗龙珠,但是龙珠会移动到不同的城市,执行的命令中T代表移动,现在要求的就是Q查询第i颗龙珠目前所在的城市的编号,并且输出该城市目前总的龙珠个数,还原创 2013-10-21 18:50:11 · 862 阅读 · 0 评论 -
Cube Stacking
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/E题意:给你一个n,分别代表从1~N个堆,每堆初始时都有一个方块(分别按照初始堆编号),现在执行P步操作,只有M和C操作,M x y代表,将x移动到y堆上去,C x代表求第x个方块在现在所在堆中位于它的下面的方块的个数(可以理解为移动时自上向下放方块);原创 2013-10-21 20:57:36 · 891 阅读 · 0 评论 -
Find them, Catch them
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/B#include#include#includeusing namespace std;#define N 100005int p[N],r[N];int n,m;int find(int a){ if(p[a]==a) return原创 2013-10-20 22:36:02 · 767 阅读 · 0 评论 -
食物链
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/A1.如果在同一棵树中find(x) == find(y):直接判断是否说谎。 1)如果 d ==1,那么 x 与 y 应该是同类,他们的r[]应该相等 如果不相等,则说谎数 +1 2)如果原创 2013-10-20 22:35:13 · 970 阅读 · 0 评论 -
Count Color
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34869#problem/D线段树,染色问题// 3d.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#include#include#include using namespace std;#define lson l原创 2013-10-25 15:18:41 · 956 阅读 · 0 评论 -
A Simple Problem with Integers
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34869#problem/C线段树,区间更新,区间求和// 3c.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#includeusing namespace std;#define lson l, m, rt << 1原创 2013-10-24 22:34:47 · 734 阅读 · 0 评论 -
Supermarket
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34236#problem/F题意:有n种商品,每个商品有一个价格,和最后售出时间,问价格最大是什么;解析:运用贪心的思想,使用并查集来优化;其余没什么说的,主要就是并查集将时间划分到同一区域中注意:n=0不要跳出// f.cpp : 定义控制台应用程序的入口点。原创 2013-10-24 14:59:21 · 939 阅读 · 0 评论 -
Sliding Window
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=34121#problem/G// File Name: g.cpp// Author: bo_jwolf// Created Time: 2013年10月17日 星期四 15:33:34#include#include#include#include#include原创 2013-10-17 18:32:18 · 791 阅读 · 0 评论 -
元素查找
http://wikioi.com/problem/1230/没什么讲的,就是map,只是动态的还是没能解决// File Name: 1230.cpp// Author: bo_jwolf// Created Time: 2013年08月14日 星期三 09时19分17秒#include#include#include#include#include#include#原创 2013-08-14 11:13:15 · 951 阅读 · 0 评论 -
图解数据结构(10)——排序
http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html十四、排序(Sort)这可能是最有趣的一节。排序的考题,在各大公司的笔试里最喜欢出了,但我看多数考得都很简单,通常懂得冒泡排序就差不多了,确实,我在刚学数据机构时候,觉得冒泡排序真的很“精妙”,我怎么就想不出呢?呵呵,其实冒泡通常是效率最差的排序算法,差多少?请看转载 2013-08-13 22:53:48 · 913 阅读 · 0 评论 -
队列练习 3
http://wikioi.com/problem/3187/// File Name: 3185.cpp// Author: bo_jwolf// Created Time: 2013年08月13日 星期二 14时55分40秒#include#include#include#include#include#include#include#include#include原创 2013-08-13 16:30:02 · 743 阅读 · 0 评论 -
二叉树的序遍历
http://wikioi.com/problem/3143/#include#include#include#include#include#include#includeusing namespace std;int a[ 20 ][ 3 ] ;void work1(int x)/////////////////////////////////////////////先原创 2013-08-05 15:36:01 · 856 阅读 · 0 评论 -
二叉树最大宽度和高度
题目描述 Description 给出一个二叉树,输出它的最大宽度和高度。输入描述 Input Description第一行一个整数n。下面n行每行有两个数,是这个二叉树连接到的节点的编号,如果没有连接到节点,则为0。输出描述 Output Description输出共一行,输出二叉树的最大宽度和高度,用原创 2013-07-19 16:29:19 · 2497 阅读 · 0 评论 -
hdu1022-Train Problem I
http://acm.hdu.edu.cn/showproblem.php?pid=1022#include#include#include#includeusing namespace std;int main(){ int n ; int vis[ 1005 ] ; char a[ 1005 ] , b[ 1005 ] ; while( cin >> n >> a >原创 2013-05-30 20:25:18 · 876 阅读 · 0 评论 -
hdu1233-还是畅通工程
还是畅通工程最小生成树Kruscal+并查集// File Name: hdu1233.cpp// Author: rudolf// Created Time: 2013年04月27日 星期六 15时45分12秒#include#include#include#include#include#include#include#include#include#原创 2013-04-27 15:55:33 · 1024 阅读 · 0 评论 -
数据结构之Treap
1. 概述同splay tree一样,treap也是一个平衡二叉树,不过Treap会记录一个额外的数据,即优先级。Treap在以关键码构成二叉搜索树的同时,还按优先级来满足堆的性质。因而,Treap=tree+heap。这里需要注意的是,Treap并不是二叉堆,二叉堆必须是完全二叉树,而Treap可以并不一定是。2. Treap基本操作为了使Treap 中的节点同时满足BST性质和最小原创 2013-04-21 15:59:09 · 926 阅读 · 0 评论 -
HDU1425-sort
sort水题的水解与不水解法对比顿时无语 水解——-----> hash表------->// File Name: hdu1425.cpp// Author: rudolf// Created Time: 2013年04月22日 星期一 16时53分10秒#include#include#include#inc原创 2013-04-22 18:20:29 · 1595 阅读 · 2 评论 -
一步一步学算法之hash表
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树原创 2013-04-22 16:40:31 · 1253 阅读 · 0 评论 -
一步一步写算法(之hash表)
hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。 打个比方来说,所有的数据就好像许许多多的书本。如果这些书本是一本一本堆起来的,就好像链表或者线性表一样,整个数据会显得非原创 2013-04-22 13:16:03 · 788 阅读 · 0 评论