自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10-排序6 Sort with Swap(0, i) 分数 25

Swap(0, *)

2024-03-30 21:42:59 516

原创 10-排序5 PAT Judge 分数 25

要注意很多细节,详细看注释,注意排名中的人提交的某题没有通过编译,则显示0。

2024-03-30 20:48:07 436

原创 07-图6 旅游规划 分数 25

有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。

2024-03-30 17:28:40 318

原创 07-图5 Saving James Bond - Hard Version 分数 30

然后不断在不能到的鳄鱼与vector里面的鳄鱼之间计算距离,更新vector和次数和pre。用结构体记录每个鳄鱼坐标、需要跳的次数、前一个鳄鱼下表以及第一跳距离。用一个vector记录第一次跳能到的鳄鱼,将这些鳄鱼的次数更新为1。最后在可以跳出去的鳄鱼之间排序,输出第一跳最小的。

2024-03-30 16:30:48 912

原创 06-图2 Saving James Bond - Easy Version 分数 25

【代码】06-图2 Saving James Bond - Easy Version 分数 25。

2024-03-30 00:10:40 477

原创 06-图1 列出连通集 分数 25

给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。

2024-03-29 23:29:02 109 1

原创 04-树5 Root of AVL Tree 分数 25

【代码】04-树5 Root of AVL Tree 分数 25。

2024-03-29 22:59:58 328 1

原创 05-树9 Huffman Codes 分数 30

每个输入文件包含一个测试用例。对于每种情况,第一行给出一个整数N (2≤N≤63),然后后跟一行包含所有N不同的字符及其频率。下一行给出一个正整数M (≤1000),然后接着是M学生提交的材料。每个学生提交的作品包括N行。进行哈夫曼编码时用优先队列存储指向结构体的指针(或者可以用暴力每次找最小的两个)然后先计算最短码长,与学生的进行比较,若相同则检查学生的是否是前缀码。

2024-03-29 21:01:35 937 1

原创 04-树6完整的二叉查找树 分数 30

将读入的n个数排序,然后计算当前根的左子树和右子树分别有多少节点,在当前[l,r]区间中,左子树是[l,l+lt-1],右子树是[r-rt+1,r],lt、rt是左、右子树节点数,根为mid = l+lt = r-rt。对于每个测试用例,在一行中打印相应的完整二叉查找树的层次顺序遍历序列。一行中的所有数字必须用空格隔开,并且行尾不能有多余的空格。现在给定一系列不同的非负整数键,如果要求树也必须是CBT,则可以构造唯一的BST。完全二叉树(CBT)是一种完全填充的树,可能除了底层是从左到右填充的。

2024-03-27 22:50:06 536

原创 04-树4 是否同一棵二叉搜索树 分数 25

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。

2024-03-27 21:51:34 326

原创 05-树9 Huffman Codes

使用了堆,在前面堆的章节中,元素使用数组存储,但这里函数insert和delete都返回指针,所以建立最小堆要使用结构体指针数组。主要思路:读入第一行数据,建立哈夫曼树,计算最优编码长度,然后读入学生数据,先计算编码长度,再检查是否符合前缀码。堆的插入和删除如下(dt[] 是结构体指针数组,是最小堆)题意:给出字符和频率,检查学生的答案是不是最优解。但在视频中给出的建哈夫曼树的方法(如下)然后按照视频的方法建造树。

2023-05-23 15:31:54 61 1

原创 02-线性结构4 Pop Sequence

按1,2,3,...,N和pop随机。接着是K行,每一行包含N个数字的弹出序列。分析:连续的pop出来的是降序数列,如果后一个数比前一个数大,那这两个数之间一定有push,按照连续降序给数列分段,比如5643721分段为0/5/643/721(在最前面加了一个0,这样在后面方便比较),在每一个子段里面数据一定是降序的,否则输出NO,每一个子段的第一个数是按升序排列的,否则输出NO,比如3217564,分段后0/321/75/64,其每一个子段第一个数排列出来是0,3,7,5,不是升序的。

2023-05-12 00:23:29 201

原创 02-线性结构3 Reversing Linked List

题意:给定一个常数K和一个单链表L,假设你把L上每K个元素的链接反过来,比如给定L是1→2→3→4→5→6,如果K=3,那么你必须输出3→2→1→6→5→4;如果K=4,则必须输出4→3→2→1→5→6。对于每种情况,第一行包含第一个节点的地址,一个正N (≤10 5 )和正K (≤N),前者是要反转的子列表的长度。节点的地址是5位非负整数,NULL用-1表示。然后是N行,每一行描述一个节点,格式如下: 接下来寻址数据 其中Address是节点的位置,Data是整数,Next是下一个节点的位置。

2023-05-11 20:48:27 70 1

空空如也

空空如也

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

TA关注的人

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