- 博客(7)
- 收藏
- 关注
原创 图论基础(学习的笔记)
拓扑序列是顶点活动网中将活动按发生的先后次序进行的一种排列。拓扑排序,是对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。
2022-12-14 16:40:01
539
原创 筛选质数的三种方法方法
比如数字56,他的质因子为—>2 * 2 * 2 * 7,而不会表现为4 * 2 * 7或者4*14的形式,应该是28 * 2的形式。然后每一个数在他的前一个质因子里面会提前被筛(像上面的10被5*2筛去),也就是说一个数会被pi的数里面被筛一次。实际上,对于任何一个数n,我们如果有两个数a,b(a,b>=2 && a,b
2022-11-29 15:58:56
2915
3
原创 数组模拟链表(超详细)
通过指针把每一个元素的值联系在一起,不要求逻辑上(链表逻辑)相邻的两个元素在物理位置上也相邻,那么就需要链表元素需要两个数据,一个是储存该元素的值,一个是储存链表下一个元素的地址,两者统称为一个节点,接下来每一个元素都用对应的节点表示,阐明两个存储数据。再将idx节点下一个元素的地址赋值(这个值是k节点的下一个元素的地址,即ne[k])所以是ne[idx]=ne[k].一个元素有三个数据,一个是元素的值,一个是下一个元素的地址,还有一个是上一个元素的地址,像这样的链表就是双链表。
2022-11-09 00:37:50
5421
8
原创 双指针算法
给定两个升序排序的有序数组 A 和 B,以及一个目标值 x。分析:如果我们直接暴力枚举,j从0到m-1,i从0到n-1.那这个题目就会超时(毕竟没有什么地方会出这么简单的题目)。给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。第一行包含三个整数 n,m,x分别表示 A 的长度,B 的长度以及目标值 x。 但是我们将i和j的分别从两数组的一头一尾分别遍历,那么问题就会简化。共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。,说不定哪个题目就要这种方法,
2022-11-01 16:46:40
255
原创 前缀和与差分(学习笔记)
输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c其中 (x1,y1)和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。输入一个 n行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来输入 m 个操作,每个操作包含三个整数 l,r,c表示将序列中 [l,r][l,r] 之间的每个数加上 c。差分是什么:差分可以看作前缀和的逆运算,像求导和积分的一样。
2022-10-29 17:39:08
176
1
原创 c++快排和归并排序,整数二分和浮点二分,高精度加减乘 法
一般的冒泡或者sort容易超时,这时候我们的快排和归并排序就发挥了作用),其中。,如果我们要查找’2‘这个数,那么mid=(1+0)/2的结果应该是0,这个数组,我们如果要查找5这个数,那么上述代码只可以输出的下标为2。的过程,所以同学们可以先试着直接模拟一边再观看,效果会更好哦。应该是0,即一次循环后l和r的值都没有发生变换,那么就会陷入。这里的代码会有点长,建议会python的同学可以润了。:说实在的,高精度乘法可以理解为**一个高精度的。值得注意的一点,我们每次写代码其实都是。
2022-10-28 01:43:26
557
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人