- 博客(5)
- 收藏
- 关注
原创 排序之拓“谱”排序
进行的一种排序,它将图中的所有顶点排成一个线性序列,使得对于图中任意一对顶点u和v,若存在一条从u到v的边,则u在线性序列中出现在v之前。将两个节点连接在一起的就叫度,在有向图中,度分为入度,出度,入度就是由上一个节点的度来连接这个节点的就叫入度,出度就是由这个节点去连接下一个节点就叫出度,在无向图中只有一个度。简单理解一下拓扑排序基本就是将入度为零的节点输出,在更新一下,将输出的节点有关的都全部都删除,看哪个节点变成了零在输出它,直到每个节点都输出了以后,整个排序就结束了。
2024-07-12 10:06:24 623
原创 “中分”(二分)算法(二分查找and二分答案)
这种方法要求满足条件的答案是单调有序的,其基本思想是在答案可能的范围([L,R])内二分查找答案,不断检查当前答案是否满足题目的要求,根据检查结果更新查找的区间,最终取得最符合题目要求的答案进行输出。二分搜索算法的应用不仅限于精确匹配查找,还可以扩展到计算一个值的排名(比它更小的元素的数量)、前趋(下一个最小元素)、后继(下一个最大元素)以及最近邻等。像这题我们就可以从5开始搜,如果砍的数量比需要的木材还多,就往大了搜,如果砍的数量比需要的木材多,那就往下的搜,直到找到合适的答案。
2024-07-11 10:03:50 632 2
原创 并查“鸡”保姆级讲解
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。那并查集的作用是什么呢?反复查找一个元素在哪个集合中,这一类问题反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。
2024-07-10 17:03:27 1216 2
原创 聊一聊BFS(内容超细致,请客官放心食用)
这个我因该在我上篇博客(DFS)中就提到的可由于我的一些疏忽没有讲到,所以今天我在这里给大家讲一下为什么要定义两个位置移动的数组。它就是在数组中来移动然后每次给数组的位置变动就行了,这个点非常重要尤其是在上过八年级之后很容易把它跟数学里的平面直角坐标系搞混,所以这里必须好好理解。上图是数学中的平面直角坐标系图,如果以i表示横轴,j表示纵轴的话,它的一二三四象限分别的变化趋势为:(i+,j+),(i-,j+),(i-,j-),(i+,j-)but我们c++中的二维数组转换成图例为。
2024-07-10 10:53:03 821
原创 忆DFS有感(浅谈亿下DFS)
树的深度取决于要搜索问题的层数,树的宽度取决于每个节点处理集合的大小。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。从一个起始节点开始把附近与其连通的节点提取出或填充成相同的物质,直到封闭区域内的所有节点都被处理过为止,是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别填充成相同物质)的经典算法。由于皇后有很强的嫉妒心眼里容不下其她的皇后不然就会急眼,我们要想办法怎样才能让皇后走的横的位置,竖的位置还有斜的位置都只能有一个皇后。子集问题:一个N个数的集合里有多少符合条件的子集。
2024-07-09 10:06:41 878 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人