自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 归 并 排 序

4.2 这一批逆序对的数量为mid-i+1,(即为左队的长度)因为此时左队所有的数都比右队队首大。4.1 当左队队头a[i]>右队队头a[j],此时构成一批逆序对。4.归并排序求逆序对(时间复杂度为 n log n )2.归并排序的本质是后序遍历(由孩子推出父亲)1.归并排序的主要思想:分而治之,和而用之;3.1 左右队都不为空(哪个队头小选哪个)3.2 左边为空,右边不为空(照抄右队)3.3 左边不为空,右边为空(照抄左队)3.合并时有三种情况。

2024-03-16 19:10:09 129 2

原创 树的存储和遍历

d.孩子兄弟表示法(父亲记住第一个孩子,第一个孩子记住第二个孩子,第二个孩子记住第三个孩子······,也就是图的邻接表存储方式)c.父亲孩子表示法(孩子和父亲互相记住,比如份f[i][j]=k,表示i的第j个孩子是k,F[i]=j表示i的父亲是j)b.父亲表示法(孩子记住父亲,比如F[i]=j,表示i的父亲是j) (并查集用的是父亲表示法)a.孩子表示法(父亲记住每个孩子,比如f[i][j]=k,表示i的第j个孩子是k)a.普通树的遍历(dfs(先序遍历,后序遍历),bfs(按层遍历))

2024-02-16 20:21:54 193

原创 右右编程避坑指南

3.下标从0还是从1开始要斟酌。2.函数和数组要弄清楚。

2024-01-26 20:18:14 36

原创 练 习 任 务

1.1/15/2024 之前。

2024-01-13 12:10:12 370

原创 简 单 数 论

2.最大公约数(辗转相除法,欧几里德算法)3.最小公倍数(辗转相除法,大数倍增法)1.质数判断(试除法)

2023-08-17 20:35:40 46 1

原创 动态规划:线形 树形 矩阵

比如等差数列,a(n)=a(n-1)+d,d为公差;等比数列,q(n)=q(n-1)*p,p为公比;累加和,s(n)=s(n-1)+n;累乘积,f(n)=f(n-1)*n;比如兔子数列f(n)=f(n-1)+f(n-2);b.多推一(人人为我):数塔问题,背包问题,最长公共子序列;a.一推多(我为人人):数塔问题;a.父推子(一推多)b.子推父(多推一)

2023-06-22 21:39:30 81

原创 BFS 广度优先搜索算法

2.3 DFS常用的必要变量(vis[ ],ans[ ]),BFS常用的必要变量(vis[ ],father[ ])。2.2 都是要重点考虑孩子的合法性,即孩子的重复性和是否满足约束条件,只有合法的孩子才能入队(栈),才有机会当父亲。1.2 DFS使用的是栈(隐式的栈,先进后出,后进先出),BFS使用的是队列(先进先出,后进后出)。1.1 DFS是按枝搜索(枪挑一条线),BFS是按层搜索(棍扫一大片)。2.1 都是要重点考虑父亲和孩子的关系,即知道父亲可以找到所有的孩子。3.1 用普通数组实现队列。

2023-06-08 21:26:53 49

原创 DFS算法(深度优先搜索算法)

1.DFS算法是一种暴力的枚举算法(在树上枚举)(枪挑一条线——DFS VS 棍扫一大片——BFS)2.3 子集树(左孩子0,右孩子1)2.1 排序树(孩子不与祖先重复)2.5 搜索树(孩子和亲戚不重复)2.2 组合树(孩子比祖先大)

2023-05-11 21:33:49 118

原创 算法的第二把刷子--枚举算法

【代码】算法的第二把刷子--枚举算法。

2023-04-20 21:51:13 42

原创 算法的第一把刷子--模拟算法

1.模拟算法就是题上怎么说,我们怎么做。根据题意将整个过程模拟出来,最终求得答案。2.4 ISBN号码。

2023-04-06 21:40:26 40

原创 动态规划基础

1.2 缺点:当数据规模较大时运算时间很长,原因是有重复运算。1.3 优化:用动态规划算法进行优化(记忆化搜索)1.1 优点:程序代码简洁明了。1.用递归算法求兔子数列。

2023-03-06 21:45:18 41

原创 拓扑排序

1.拓扑排序算法:即将一个有向无环图的所有节点生成一个线性的序列(将图拍扁),来表示图中节点之间的先后关系。(必须是有向无环图,也就是说必须有入度为零的点存在)2.2 队列或者堆栈:入度为零的节点先入队/入栈,队首元素出队/出栈。

2023-03-06 21:30:40 66

原创 最小生成树

Prim算法和Dijkstra算法的区别在于d[i]的含义不同:在Dijkstra算法中,的[i]表示起点到i号点的最短路径;在Prim算法中,d[i]表示与第i个节点相连的边的最短长度(没有被别人占过)3.2 Kruskal算法:其算法复杂度为O(n log n),其算法核心思想是一次加边其核心技术是排序(按边的权值大小排序)与并查集(判断是否构成环)。2.最小生成树:只生成树中权值和最小的树。3.最小生成算法有两种,Kruskal算法必须掌握。3.1 Prim算法:其算法复杂度为O(

2023-02-27 21:41:00 84

原创 最短路径算法

此时所有的最短路径算法全部失效,但是用SPFA算法可以检测出负权环,而Dijkstra和Floyd算法无法检测出负权环的存在。1.3 负权边,就是指图中有边的权值为负,此时Dijkstra算法失效(无法计算出最短路径),但是SPFA算法和Floyd算法依然有效。2.2 SPFA算法本质上是BFS算法,主要采用队列,其关键操作是。源最短路径算法,可以算出任意两点之间的最短路径。2.1 Dijkstra算法的步骤:第一步。:经过父节点能使孩子到起点的距离更短。源最短路径算法,可以计算出从。

2023-01-16 21:44:19 580

原创 sort()排序函数

sort()排序函数

2023-01-09 21:35:22 127

原创 STL:集合、映射、优先队列

2.1 特点:指两个集合之间相互对应的关系,它弥补了普通数组的缺陷(下标只能是正整数)它的下标可以是任意类型。集合的第一个元素为关键字,第二个元素为值。关键字必须唯一,值不一定唯一。1.1 特点:集合中的元素不可以重复,因此集合可以自动去重。另外一个特点是:集合的增删改查比普通数组快。它的时间复杂度为O(log(n))。3.优先队列(priority_queue)

2023-01-02 20:57:40 85

原创 并查集算法

1.并查集:是对多个集合的合并与查找,以及判断集合内元素的关系(看是不是在同一个集合内)。2.3 合并(将x和y合并到同一个集合,让他们拥有同一个父亲)注意:合并时采用路径压缩(递归)的方法会提高查找的效率。2.1 初始化(每个元素的父亲是自己)2.2 查找(查找元素x的父亲)3. 示例(数据见代码末尾)

2022-12-26 20:29:18 88

原创 图的存储和遍历2

技巧:关键是如何处理父子关系。对于dfs来说父亲出栈,其所有合法孩子入栈。对于bfs来说父亲出队,其所有合法孩子入队。重要工作:判断孩子的合法性。(不重复,满足约束条件)b.数组模拟邻接表(普通数组和动态数组)a.深度优先搜索(dfs)b.广度优先搜索(bfs)1.图的两种常用存储方式。2.图的两种遍历方式。

2022-12-19 20:32:53 102

原创 图的存储和遍历

1.1 边的集合,其记录节点数,边数,每条边的起点和终点。这是最基本,最简单的方法,但是寻找邻居节点比较麻烦。1.2 邻接矩阵(二维数组),其记录任意两点之间是否有边。简单容易理解,但是有很多冗余数据,时间复杂度高。1.3 数组模拟邻接表,其只记录有边的两点。复杂不容易理解,但无冗余数据,时间复杂度低。1.3.2 动态数组实现。1.3.1普通数组实现。

2022-12-12 21:42:12 134

原创 数据结构之--栈和队列

1.1 栈只有一个开口,进栈出栈都从这个开口过1.2 栈能实现先进后出,后进先出1.3 栈只有一个指针,称之为栈顶指针(top)。入栈时栈顶指针增一,出站时栈顶指针减一1.4 dfs算法用到了栈(内隐式)1.5 使用栈时最关键的问题是:出入栈的对象是谁,什么时候入栈,什么时候出栈1.6 栈的基本操作是:出栈,入栈1.7 用普通数组实现栈1.8 用STL实现栈2.1 队列有两个开口,从入口(队尾)进,从出口(队头)出2.2 队列能实现先进先出,后进后出2.3 队列有两个指针,分别称之为头指针(head)

2022-12-05 20:29:38 187

原创 基本套路2

基本·套路

2022-11-28 20:33:26 85

原创 算法复杂度

算法复杂度

2022-11-07 20:29:33 66

原创 数的拆分

数的拆分

2022-10-28 15:27:05 101

原创 信奥前一天

信奥前一天

2022-10-27 14:01:06 60

原创 信奥复赛如何写程序

复赛如何写程序

2022-10-24 21:51:46 245

原创 珠心算测验 计数问题

珠心算测验 计数问题

2022-10-17 20:32:21 72

原创 买铅笔 发金币

noi

2022-10-15 16:02:11 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除