上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 30 下一页
摘要: ####首先明白什么是拓扑序列? 只有有向图才会有拓扑序列,每一条边的起点都在终点之前 例如: 但如果是这样子的 有向图中存在一个环 则它就不存在拓扑序列。 ####拓扑图:有向无环图一定存在拓扑序列,因此有向无环图也叫做拓扑图,所有入度为0的节点都可以作为起点,因此拓扑序列并不唯一。** 有向无环 阅读全文
posted @ 2020-07-29 15:07 Xxaj5 阅读(243) 评论(0) 推荐(0) 编辑
摘要: ###例题 给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 输入格式 第一行包含整数n,表示树的结 阅读全文
posted @ 2020-07-29 14:35 Xxaj5 阅读(339) 评论(0) 推荐(0) 编辑
摘要: ###例题:图中点的层次 给定一个n个点m条边的有向图,图中可能存在重边和自环。 所有边的长度都是1,点的编号为1~n。 请你求出1号点到n号点的最短距离,如果从1号点无法走到n号点,输出-1。 输入格式 第一行包含两个整数n和m。 接下来m行,每行包含两个整数a和b,表示存在一条从a走到b的长度为 阅读全文
posted @ 2020-07-29 14:26 Xxaj5 阅读(191) 评论(0) 推荐(0) 编辑
摘要: DFS与栈密切相关,则BFS与队列密切相关 BFS常用于求最短路,最小步数,最小距离等问题 个人理解:BFS常用来搜最短路,它是一层一层的搜索,因此它搜的距离一定是最短距离,需要用队列保存每一层的状态,从根节点开始,根节点入队,然后队列不空,进入循环,取出队列头,开始扩展它下一层的点,如果这些点都符 阅读全文
posted @ 2020-07-28 16:08 Xxaj5 阅读(168) 评论(0) 推荐(0) 编辑
摘要: ###全排列问题 给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3 阅读全文
posted @ 2020-07-28 15:44 Xxaj5 阅读(99) 评论(0) 推荐(0) 编辑
摘要: memset是按照字节赋值,一个字符是一个字节,因此对字符数组可以初始化为任何值,而对int数组就不是这样了 例如:常用memset(a,-1,sizeof(a)) 原理就是:-1在计算机储存是11111111,int是四个字节,每个字节(一个字节八位)全部赋值为-1,因此32位2进制结合起来就是- 阅读全文
posted @ 2020-07-25 16:21 Xxaj5 阅读(246) 评论(0) 推荐(0) 编辑
摘要: C++STL中已经有了现成的堆即:优先级队列(priority_queue),是大根堆 这里主要是用数组模拟的堆(小根堆): x的左儿子下标:2x x的右儿子下标:2x+1 堆是一颗完全二叉树。 主要操作: up操作:up操作是只与当前节点的父节点进行比较,若父结点比当前结点大,则进行交换,实现up 阅读全文
posted @ 2020-07-25 15:25 Xxaj5 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 (来自维基百科) 其中前边说到的离散化也是一 阅读全文
posted @ 2020-07-24 20:23 Xxaj5 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 并查集的主要操作有两个: 1.将两个集合合并 2.询问两个元素是否在一个集合中 每一个集合用一棵树表示,树根编号就是整个集合的编号,每个节点储存的是它的父节点,p[x]表示x的父节点 则关于这两个操作: 1.如何判断树根: if(p[x] == x) 2.如何求x的集合编号(即如何找到x所在集合的树 阅读全文
posted @ 2020-07-24 17:56 Xxaj5 阅读(119) 评论(0) 推荐(0) 编辑
摘要: ###Trie字符串统计 维护一个字符串集合,支持两种操作: “I x”向集合中插入一个字符串x; “Q x”询问一个字符串在集合中出现了多少次。 共有N个操作,输入的字符串总长度不超过 105,字符串仅包含小写英文字母。 输入格式 第一行包含整数N,表示操作数。 接下来N行,每行包含一个操作指令, 阅读全文
posted @ 2020-07-24 17:37 Xxaj5 阅读(120) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 30 下一页