自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 免费馅饼

题目描述都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中

2016-08-13 15:19:12 301

原创 数据结构实验之查找二:平衡二叉树

题目描述根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。输入输入一组测试数据。数据的第1行给出一个正整数N(n 输出输出平衡二叉树的树根。#includeusing namespace std;typedef struct node{ int data; int dp; struct nod

2016-08-13 14:02:30 323

原创 数据结构实验之二叉树七:叶子问题

题目描述已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。输入 输入数据有多行,每一行是一个长度小于50个字符的字符串。输出 按从上到下从左到右的顺序输出二叉树的叶子结点。示例输入abd,,eg,,,cf,,,xnl,,i,,u,,

2016-08-13 13:57:58 257

原创 最长公共子序列问题

题目描述 给定两个序列X=#include#includeusing namespace std;int arr[501][501];int MAX(int a,int b){ return a>b?a:b;}int maxlong(char ch1[501],char ch2[501]){ int i,j; int len1=strlen(ch1)

2016-08-12 15:26:19 295

原创 上升子序列

题目描述一个只包含非负整数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, ...,aN},我们可以得到一些上升的子序列{ai1, ai2, ..., aiK},这里1 ≤ i1 < i2 <...< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些上升子序列,如{1, 7}, {3,

2016-08-12 10:03:30 764

原创 小鑫去爬山

题目描述马上就要放假了,小鑫打算去爬山。小鑫要去爬的这座山有n个海拔区间。为了清楚描述我们可以从上到下标号1到n。第i个区间有i个落脚点,每一个落脚点都有一个危险值。小鑫需要在第n个海拔区间挑选一个点向上爬,爬到第1个海拔区间(也就是山顶)。他必须规划一条路径,让危险值之和最小。这样才安全的。并不是任意两个落脚点之间都可以相互到达。我们这样定义对于第i个(i你能帮助

2016-08-11 20:26:36 819

原创 最长上升子序列

题目描述一个数的序列bi,当b1 2 S的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里11 < i2 K 你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入输入的第一行是序列的长度N (1 输出最长上升子序列的长度。

2016-08-11 20:12:07 281

原创 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 my

2016-08-11 16:22:32 369

原创 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-11 15:48:08 244

原创 双向队列

题目描述      想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X  X表示一个整数,命令代表左边进队操作;RIN X  表示右边进队操作;ROUTLOUT   表示出队操作;输入第一行包含一个整数M(M以下M行每

2016-08-11 09:59:34 669

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

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

2016-08-11 09:19:37 444

原创 图结构练习——最短路径

题目描述 给定一个带权无向图,求节点1到节点n的最短路径。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表节点个数和边的个数。(n剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。 题解:迪杰斯特拉算法就是从一个原点开始,找到离他最近的节点,然后再从这个节点开始进行查找,记得没找到一个节点就要进行节点的更新

2016-08-10 21:27:37 575

原创 数据结构实验之查找四:二分查找

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

2016-08-10 14:30:37 215

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

题解:这个题既要求时间有要求内存,因此你的堆里只能放M个数,剩余的N-M个数,用来替换堆里的数。题目描述#include#includevoid heapAdjust(int heap[],int i,int size)//建立一个小顶堆。{ int key=i; int lchild=i*2; int rchild=i*2+1; int middle

2016-08-10 14:17:08 311

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

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

2016-08-10 09:50:10 385

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

题目描述给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1题解:用平方法来为元素找空位置,比求余法效率要更高一些,平方法可以双向寻找空位置,而求余法一味的key+1在求余来寻找空位置,效率很差。平方法它寻找空

2016-08-09 21:10:54 470

原创 完美网络

题目描述完美网络是连通网络的基础上要求去掉网络上任意一条线路,网络仍然是连通网络。求一个连通网络要至少增加多少条边可以成为完美网络。题解:这个图它是一个无向连通图,当出现完美网络时,也就是每个节点的入度都大于或者等于二,也就是说至少有两条边连向同一个节点。输入第一行输入一个数T代表测试数据个数(T(0 输出对于每个样例输出最少增加多少线路可以

2016-08-09 17:16:00 412

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

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

2016-08-09 16:14:02 444

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

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

2016-08-09 15:51:51 455

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

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

2016-08-09 13:32:06 1442

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

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

2016-08-09 12:16:55 623

原创 数据结构实验之串二:字符串匹配

题目描述  给定两个字符串string1和string2,判断string2是否为string1的子串。 输入题解:这里我是用kmp的优化算法写的。#includeusing namespace std;int next[1000001];int len1,len2;char string1[1000001],string2[1000001];vo

2016-08-09 11:17:06 1129

原创 数据结构实验之串一:KMP简单应用

题目描述给定两个字符串string1和string2,判断string2是否为string1的子串。输入 输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。输出 对于每组输入数据,若string2是string1的子串

2016-08-09 11:06:36 787

原创 进制转换

题目描述输入一个十进制数N,将它转换成R进制数输出。输入#includeusing namespace std;stack test;void convert(long long n,int R){ while(n) { test.push(n%R); n=n/R; }}void cout1(){ whi

2016-08-09 09:44:40 204

原创 多项式求和

题目描述多项式描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ……先请你求出多项式前n项的和。输入第一行输入一个数T代表测试数据个数(T 输出 对于每个输入样例,输出多项式和的结果(结果精确到小数点后两位)。每行输出一个结果。题解:这个题给的测试的数据太大,如果暴力找,容易超时,但是你测试发现,在超出某个

2016-08-09 09:18:10 291

原创 约瑟夫问题

题目描述n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。输入#includeusing namespace std;struct node{ int data; struct node *next;};

2016-08-09 08:39:18 278

原创 数据结构上机测试2-2:单链表操作B

题目描述按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。输入第一行输入元素个数n;第二行输入n个整数。输出第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;第三行输出删除重复元素后的单链表元素个数;第四行输出删除重复元素后的单链表。示例输入102

2016-08-09 08:28:57 318

原创 数据结构上机测试2-1:单链表操作A

题目描述输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。输入第一行输入数据个数n;第二行依次输入n个整数;第三行输入欲删除数据m。输出#includeusing namespace std;struct node{ int data;

2016-08-09 08:20:42 446

原创 数据结构实验之查找四:二分查找

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

2016-08-08 17:13:43 241

原创 数据结构实验之查找二:平衡二叉树

题目描述根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。输入输入一组测试数据。数据的第1行给出一个正整数N(n 输出输出平衡二叉树的树根。题解:建一棵平衡二叉树会出现四种不平衡的情况,分别是左左,左右,右右,右左,再就是见平衡二叉树实在建二叉排序树的基础上建的。如果你回建排序树,那么只要你了解了在建树时出现不平衡

2016-08-08 11:09:31 455

原创 数据结构实验之栈七:出栈序列判定

给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。 例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等。 输入 第一行输入整数n(1

2016-08-06 20:56:15 894

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

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

2016-08-06 15:56:51 3651

原创 数据结构实验之栈四:括号匹配

题目描述 给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。题解:这个题首先应该判断出现的第一个括号是不是右括号,是则结束循环,不是你就将左括号入栈,然后和出现的右括号作比较,匹配则栈顶出栈,否则结束循环输入 输入数据有多组,处理到文件结束。输出#include#include#inc

2016-08-06 11:18:32 1603 1

原创 数据结构实验之栈八:栈的基本操作

题目描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入首先输入整数t(1  对于每组测试数据,第一行输入两个正整数 m(1 输出 对于每组测试数据,根据其中的命令字符来处理堆栈;(1)对所有的'P'操作,如果栈满输出'F',否

2016-08-06 11:13:46 726

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

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

2016-08-06 11:02:19 286

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

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

2016-08-05 20:44:41 320

原创 交叉排序

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

2016-08-05 14:48:28 1788

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

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

2016-08-05 09:21:20 347

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

给定一个无向连通图,顶点编号从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-03 10:33:27 295

原创 数据结构实验:连通分量个数

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

2016-08-03 10:23:06 438

空空如也

空空如也

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

TA关注的人

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