随笔分类 - 九度OJ例题
现在平台网站已经快半年访问不了,所以只能在本地练习例题
摘要:priority_queue 基本操作: empty() 如果队列为空,则返回真 pop() 删除对顶元素,删除第一个元素 push() 加入一个元素 size() 返回优先队列中拥有的元素个数 top() 返回优先队列队顶元素,返回优先队列中有最高优先级的元素( #队列中为front() ) ba
阅读全文
摘要:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。 通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑
阅读全文
摘要:在一个无向连通图中,如果存在一个连通子图包含原图中所有的结点和部分边,且这个子图不存在回路,那么我们称这个子图为原图的一棵生成树。在带权图中,所有的生成树中边权的和最小的那棵(或几棵)被称为最小生成树。 最小生成树Kruskal算法的算法原理,它按照如下步骤求解最小生成树: (1)初始时所有结点属于
阅读全文
摘要:Floyd算法: 用邻接矩阵保存原图,时间复杂度O(N^3),空间复杂度O(N^2),N为图中节点个数。 一般情况下,被要求解图的大小不超过200个结点,当图使用邻接矩阵表示时更为方便,否则要注意转换。 因为算法完成后,图中所有结点间的最短路径都将被确定,所以其较适用于全源最短路径长度问题。 例5.
阅读全文
摘要:例5.1 畅通工程 (1012) 输出:对每个测试用例,在1行里输出最少还需要建设的道路数目。 例5.2 More is better (1044) 题目描述:Mr Wang wants some boys to help him with a project. Because the projec
阅读全文
摘要:例4.6 素数判定 (1047) 例4.7 素数 (1163)
阅读全文
摘要:概念 二叉排序树是一颗特殊的二叉树,它是一颗二叉树但同时满足如下条件:对于树上的任意一个结点,其上的数值必大于等于其左子树上任意结点数值,必小于等于其右子树上任意结点的数值。 由于各个数字插入的顺序不同,所得到的二叉排序树的形态也很可能不同,所以不同的插入顺序对二叉排序树的形态有重要的影响,但其都有
阅读全文
摘要:例3.4 二叉树遍历 (1078) 题目描述:二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉
阅读全文
摘要:基本概念 哈夫曼树的求法 例3.3 哈夫曼树(1172) 为了方便快捷高效率的求得集合K中权值最小的两个元素,我们需要使用堆数据结构。它可以以O(logn)的复杂度取得n个元素中的最小元素。为了绕过对堆的实现,我们使用标准模板库中的相应的标准模板--优先队列。
阅读全文
摘要:例3.1 括号匹配问题 (1153) 题目描述: 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左
阅读全文
摘要:例2.10 查找学生信息 (1069) 这道题如果采用线性遍历数组来查找是否存在我们需要的元素,那么该算法的时间复杂度达到了O(n*m),而这已达到了千万数量级,是我们不愿意看到的。 利用二分查找,原来O(n*m)的时间复杂度被优化到O(nlogn(排序)+mlogn),符合我们的要求。
阅读全文
摘要:贪心是一种总是选择“当前最好选择”,而不从整体上去把握的思想,往往这种“贪心”的策略能得到接近最优的结果,甚至某些情况下就是最优解。 例2.11 FatMouse'Trade(1433) 题目大意如下:有n元钱,m种物品;每种物品有j磅,总价值f元,可以使用0到f的任意价格购买相应磅的物品,例如使用
阅读全文
摘要:Hash:将存储位置与数据本身对应掐来的存储手段就是Hash 例2.5 统计通成绩学生人数(1018) 题目描述:读入n(n<=1000)名学生的成绩(0~100,整型)(当读到n时结束),将获得某一给定分数的学生人数输出。 例2.6 Sort (1431) 题目描述:给你n个整数,请按从大到小的顺
阅读全文
摘要:例2.1 排序1202 题目描述:对输入的n个数进行排序并输出。 输入:输入的第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。 输出:可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。每组测试数据结果占一行。 (1)冒泡排序 冒泡排序的时间复杂度
阅读全文

浙公网安备 33010602011771号