05 2021 档案

摘要:之前在学KMP算法时一直理解不了获取next数组的函数是如何实现的,现在大概知道怎么一回事了,记录一下我对获取next数组的理解。 KMP算法实现的原理就不再赘述了,先上KMP代码: 1 void getNext(char *pat, int *next) { 2 next[0] = -1; 3 i 阅读全文
posted @ 2021-05-31 16:48 onlyblues 阅读(439) 评论(0) 推荐(1) 编辑
摘要:串的模式匹配 给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。 本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点 阅读全文
posted @ 2021-05-30 21:06 onlyblues 阅读(478) 评论(0) 推荐(0) 编辑
摘要:排序 给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。 本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下: 数据1:只有1个元素; 数据2:11个不相同的整数,测试基本正确性; 数据3:103个随机整数; 数据4:104个随机整数; 数据5:105个随机整数; 阅读全文
posted @ 2021-05-30 19:58 onlyblues 阅读(93) 评论(0) 推荐(0) 编辑
摘要:这里就不再介绍算法的实现原理,直接给出常用的排序算法模板,包括冒泡排序,插入排序,希尔排序,选择排序,堆排序,归并排序,快速排序。这些代码都是我个人常用的模板,代码也比较的简短精炼。若解题有需要,直接套模板即可。 冒泡排序(Bubble Sort) 1 void bubbleSort(int *a, 阅读全文
posted @ 2021-05-29 22:54 onlyblues 阅读(517) 评论(0) 推荐(0) 编辑
摘要:QQ帐户的申请与登陆 实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。 输入格式: 输入首先给出一个正整数N(≤ 105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号 阅读全文
posted @ 2021-05-28 20:19 onlyblues 阅读(861) 评论(0) 推荐(0) 编辑
摘要:Hashing The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input n 阅读全文
posted @ 2021-05-28 20:18 onlyblues 阅读(170) 评论(0) 推荐(0) 编辑
摘要:电话聊天狂人 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。 输入格式: 输入首先给出正整数N(≤ 105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。 输出格式: 在一行中给出聊天狂人的手机号码及其通话 阅读全文
posted @ 2021-05-28 20:06 onlyblues 阅读(285) 评论(0) 推荐(0) 编辑
摘要:PAT Judge The ranklist of PAT is generated from the status list, which shows the scores of the submissions. This time you are supposed to generate the 阅读全文
posted @ 2021-05-28 20:03 onlyblues 阅读(75) 评论(0) 推荐(0) 编辑
摘要:统计工龄 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N(≤ 105),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则 阅读全文
posted @ 2021-05-28 20:01 onlyblues 阅读(221) 评论(0) 推荐(0) 编辑
摘要:Insertion or Heap Sort According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. 阅读全文
posted @ 2021-05-28 19:49 onlyblues 阅读(170) 评论(0) 推荐(0) 编辑
摘要:关键活动 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同 阅读全文
posted @ 2021-05-28 19:43 onlyblues 阅读(293) 评论(0) 推荐(0) 编辑
摘要:How Long Does It Take Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project. In 阅读全文
posted @ 2021-05-28 19:36 onlyblues 阅读(247) 评论(0) 推荐(0) 编辑
摘要:公路村村通 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N(≤ 1000)和候选道路数目M(≤ 3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号 阅读全文
posted @ 2021-05-27 22:53 onlyblues 阅读(154) 评论(0) 推荐(0) 编辑
摘要:旅游规划 有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。 输入格式: 输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N 阅读全文
posted @ 2021-05-27 22:52 onlyblues 阅读(205) 评论(0) 推荐(0) 编辑
摘要:哈利·波特的考试 哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒la 阅读全文
posted @ 2021-05-27 22:51 onlyblues 阅读(353) 评论(0) 推荐(0) 编辑
摘要:列出连通集 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0 < N ≤ 10)和E,分别是图的顶点数和边数。随后E行,每行给出 阅读全文
posted @ 2021-05-27 22:50 onlyblues 阅读(148) 评论(0) 推荐(0) 编辑
摘要:堆中的路径 将一系列给定数字插入一个初始为空的小顶堆 H[] 。随后对任意给定的下标 i ,打印从 H[i] 到根结点的路径。 输入格式: 每组测试第1行包含2个正整数N和M(≤ 1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一 阅读全文
posted @ 2021-05-27 22:49 onlyblues 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Root of AVL Tree An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at mo 阅读全文
posted @ 2021-05-27 22:48 onlyblues 阅读(145) 评论(0) 推荐(0) 编辑
摘要:树的同构 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输 阅读全文
posted @ 2021-05-27 22:47 onlyblues 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:Maximum Subsequence Sum Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is defined to be { N​i​​, N​i+1​​, ...,  阅读全文
posted @ 2021-05-26 22:11 onlyblues 阅读(176) 评论(0) 推荐(0) 编辑
摘要:最大子列和问题 给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中1 ≤ i ≤ j ≤ K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4 阅读全文
posted @ 2021-05-26 22:02 onlyblues 阅读(857) 评论(0) 推荐(0) 编辑
摘要:二叉搜索树的操作集 本题要求实现给定二叉搜索树的5种常用操作。 函数接口定义: BinTree Insert( BinTree BST, ElementType X ); BinTree Delete( BinTree BST, ElementType X ); Position Find( Bin 阅读全文
posted @ 2021-05-26 21:55 onlyblues 阅读(244) 评论(0) 推荐(0) 编辑
摘要:两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中 List 结构定义如下: typedef struct Node *PtrToNode; struct Nod 阅读全文
posted @ 2021-05-26 21:51 onlyblues 阅读(403) 评论(0) 推荐(0) 编辑
摘要:二分查找 本题要求实现二分查找算法。 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中 List 结构定义如下: typedef int Position; typedef struct LNode *List; struct LN 阅读全文
posted @ 2021-05-26 21:47 onlyblues 阅读(397) 评论(0) 推荐(0) 编辑
摘要:Hashing - Hard Version Given a hash table of size N, we can define a hash function H(x)=x%N. Suppose that the linear probing is used to solve collisio 阅读全文
posted @ 2021-05-25 14:48 onlyblues 阅读(547) 评论(0) 推荐(0) 编辑
摘要:Sort with Swap(0, i) Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order. But what if Swap(0, *) is t 阅读全文
posted @ 2021-05-24 17:43 onlyblues 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Insert or Merge According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each i 阅读全文
posted @ 2021-05-05 08:24 onlyblues 阅读(115) 评论(0) 推荐(0) 编辑

Web Analytics
点击右上角即可分享
微信分享提示