自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 Message Flood(字典树)

题目描述Well, how do you feel about mobile phone? Your answer would probably be something like that "It's so convenient and benefits people a lot". However, If you ask Merlin this question on the New Ye

2016-08-23 14:34:10 356

原创 数据结构实验之排序四:寻找大富翁(堆排序)

题目描述2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。输入首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。输出一行数据,按降

2016-08-23 09:38:42 294

原创 数据结构实验之排序六:希尔排序

题目描述我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任务是对于给定的数据进行希尔排序,其中增量dk=n/(2^k)(k=1,2,3……)输入连续输入多组数据,每组输入数据的第一行

2016-08-22 20:07:40 463

原创 数据结构实验之排序五:归并求逆序数

题目描述对于数列a1,a2,a3…中的任意两个数ai,aj (i  aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,同样还有(3,2),(7,4),(6,2),(6,3)等等,你的任务是对给定的数列求出数列的逆序数。输入输入数据N(N  输出输出逆

2016-08-22 16:01:46 560

原创 数据结构实验之排序七:选课名单

题目描述随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。输入输入第一行给出两个正整数N( N ≤ 35000)和M(M ≤ 2000),其中N是全校学生总数,M是课程总数,随后给出N行,每行包括学生姓名拼音+学号后两位(字符串总长度小于10)、数字S代表该

2016-08-22 15:11:20 744

原创 数据结构实验之查找七:线性之哈希表

题目描述根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。输入连续输入多组数据,每组输入数据第一行为两个正整数N(N = N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。输出

2016-08-22 14:34:11 255

原创 数据结构实验之查找五:平方之哈希表

题目描述给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1输入输入一组测试数据,数据的第1行给出两个正整数N(N = 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的

2016-08-22 11:25:43 348

原创 查找练习 hash——出现过的数字

题目描述有一个数据字典,里面存有n个数字(n 输入 输入数据只有一组!第一行包含两个整数n m,分别代表字典中数字的个数和要查询的数字的个数。接着n行代表字典中的n个数字。最后m表示要查询的数字。输出 如果某个数字存在,则输出YES,否则输出NO 示例输入5 3123455410示例输出Y

2016-08-22 10:06:49 417

原创 数据结构实验之图论七:驴友计划(最短路径)

题目描述做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。输入连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 输出在同一行中输出路径长度和收费总额,数据间用空格间隔。 

2016-08-19 09:59:51 464

原创 n a^o7 !(水题)

题目描述 All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to

2016-08-19 09:43:05 536

原创 AOE网上的关键路径

题目描述    一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图。     AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG。与AOV不同,活动都表示在了边上,如下图所示:                                         如上所示,共有11项活动(11条

2016-08-18 19:53:32 388

原创 数据结构实验之图论八:欧拉回路

题目描述在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。能否走过这样的七座桥,并且每桥只走一次?瑞士数学家欧拉最终解决了这个问题并由此创立了拓扑学。欧拉通过对七桥问题的研究,不仅圆满地回答了哥尼斯堡七桥问题,并证明了更为广泛的有关一笔画的三条结论,人们通常称之为欧拉定理。对于一个连通图,通常把从某结点出发一笔画成所经过的路线叫做欧拉路。人们又通常把一

2016-08-18 19:33:56 297

原创 图结构练习——判断给定图是否存在合法拓扑序列

题目描述 给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。输入 输入包含多组,每组格式如下。第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n后面m行每行两个整数a b,表示从a到b有一条有向边。 输出 若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。 示例输入1 02 21 22 1示例

2016-08-18 16:48:31 841

原创 最短路径

题目描述 给定一个带权无向图,求节点1到节点n的最短路径。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表节点个数和边的个数。(n剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。 输出 每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在) 示例输入3 21 2 1

2016-08-18 08:39:07 356

原创 数据结构实验之图论六:村村通公路

题目描述当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。输入连续多组数据输入,每组数据包括村落数目N(N 输出输出使每个村庄都有公路连通所需要的最低成本,如果输入数据不能使所有村庄畅通,则输出-1,表

2016-08-17 21:02:35 425

原创 图结构练习——最小生成树(克鲁斯卡尔)

题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n 剩下m行每行3个正整数a b c,代表城市a 和城市b之间可以修建一条公路,代

2016-08-17 20:30:05 559

原创 图结构练习——最小生成树(prime)

题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n 剩下m行每行3个正整数a b c,代表城市a 和城市b之间可以修建一条公路,代

2016-08-17 20:10:54 778

原创 连通分量个数(dfs)

题目描述 在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。 输入 第一行是一个整数T,表示有T组测试样例

2016-08-17 15:40:12 2987

原创 连通分量个数(并查集的应用)

并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判

2016-08-17 15:23:25 10421 1

原创 完美网络

题目描述完美网络是连通网络的基础上要求去掉网络上任意一条线路,网络仍然是连通网络。求一个连通网络要至少增加多少条边可以成为完美网络。输入第一行输入一个数T代表测试数据个数(T(0 输出对于每个样例输出最少增加多少线路可以成为完美网络。每行输出一个结果。示例输入23 11 23 21 22 3示例输出21

2016-08-17 14:32:27 418

原创 Catch That Cow

题目描述Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤

2016-08-16 14:35:42 291

原创 数据结构实验之图论四:迷宫探索

题目描述有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?输入连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1  输出若可以点亮所有结点的灯,则输出从S开始并以S结束的序列,序列中相邻的顶点一定有边,否则只输出部分点亮的灯的结点序列,最后

2016-08-16 10:44:26 362

原创 图结构练习——BFS——从起始点到目标点的最短步数

题目描述 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻

2016-08-16 10:02:51 317

原创 图结构练习——BFSDFS——判断可达性

题目描述 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻

2016-08-16 09:04:49 291

原创 图的深度遍历

题目描述请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。输入输入第一行为整数n(0 输出输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。示例输入14 40 10 20 32 3示例输出0 1 2 3提示#include #inc

2016-08-15 19:37:05 927

原创 数据结构实验之图论二:基于邻接表的广度优先搜索遍历

题目描述给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)输入输入第一行为整数n(0对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示

2016-08-15 16:18:37 481

原创 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

题目描述给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)输入输入第一行为整数n(0对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。下面的m行,每行是空格隔开的两个整数u,v,表示一

2016-08-15 15:25:25 298

原创 交叉排序

题目描述输入N个数,把所有奇数位置上的数从小到大排序,把偶数位置上的数从大到小排序。输入输入的第一行是一个正整数N(2第二行是N个用空格隔开的整数。输出输出只有一行N个数,是按要求排序后的序列,用空格隔开。示例输入61 2 3 4 5 6示例输出1 6 3 4 5 2提示#include #include int m

2016-08-13 16:29:07 302

原创 数据结构实验之排序三:bucket sort

题目描述根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。输入 输入第一行给出一个正整数N(输出 按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间以一个空格分隔,行末不得有多余空

2016-08-13 16:18:44 227

原创 交换排序

题目描述冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。输入连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。输出输出数据占一行,代表冒泡排序和快速排序进行排序分别需要的交换次数,数

2016-08-13 16:04:46 291

原创 二分查找

题目描述在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。输入一组输入数据,输入数据第一行首先输入两个正整数n ( n 随后m行输入m个待查找的关键字key输出若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出-1。示例输入8 34 6 8 9 1

2016-08-13 15:25:48 330

原创 树-堆结构练习——合并果子之哈夫曼树

题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所消耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力

2016-08-12 14:26:50 354

原创 数据结构实验之二叉树六:哈夫曼编码

题目描述字符的编码方式有多种,除了大家熟悉的ASCII编码,哈夫曼编码(Huffman Coding)也是一种编码方式,它是可变字长编码。该方法完全依据字符出现概率来构造出平均长度最短的编码,称之为最优编码。哈夫曼编码常被用于数据文件压缩中,其压缩率通常在20%~90%之间。你的任务是对从键盘输入的一个字符串求出它的ASCII编码长度和哈夫曼编码长度的比值。输入 输入数据有多组

2016-08-12 11:10:07 648

原创 平衡二叉树

题目描述根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。输入输入一组测试数据。数据的第1行给出一个正整数N(n 输出输出平衡二叉树的树根。示例输入588 70 61 96 120示例输出70提示 #include #include struct node{   struc

2016-08-11 16:11:50 748

原创 数据结构实验之查找三:树的种类统计(二叉排序树)

题目描述随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入输入一组测试数据。数据的第1行给出一个正整数N (n 输出按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。示例输入2This is an Appletreet

2016-08-11 09:53:47 794

原创 树结构练习——判断给定森林中有多少棵树(dfs)

题目描述 众人皆知,在编程领域中,C++是一门非常重要的语言,不仅仅因为其强大的功能,还因为它是很多其他面向对象语言的祖先和典范。不过这世上几乎没什么东西是完美的,C++也不例外,多继承结构在带来强大功能的同时也给软件设计和维护带来了很多困难。为此,在java语言中,只允许单继承结构,并采用接口来模拟多继承。KK最近获得了一份java编写的迷你游戏的源代码,他对这份代码非常感兴趣。这份ja

2016-08-11 09:03:23 497

原创 数据结构实验之查找一:二叉排序树

题目描述对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。输入输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n 简单起见,我们保证每个插入序列都是1到N

2016-08-10 20:51:39 373

原创 树结构练习——排序二叉树的中序遍历

题目描述在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中序遍历的结果。 输入输入包含多组数据,每组

2016-08-10 20:35:25 287

原创 二叉排序树

题目描述二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树输入开始一个数n,(1接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数

2016-08-10 20:16:00 488

原创 顺序存储的二叉树的最近的公共祖先问题

设顺序存储的二叉树中有编号为ii和jj的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。输入格式:输入第1行给出正整数nn(\le 1000≤1000),即顺序存储的最大容量;第2行给出nn个非负整数,其间以空格分隔。其中0代表二叉树中的空结点(如果第1个结点为0,则代表一棵空树);第3行给出一对结点编号ii和jj。题目保证输入正确对应一棵二叉树,且1\le i,j

2016-08-10 09:54:17 1010

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除