自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是Docker容器?

后续可能会补充菜狗的自我见解(太菜了,要慢慢学!

2025-05-30 21:02:06 220

原创 The 13th Shaanxi Provincial Collegiate Programming Contest 部分题题解

用map容器会导致超时。用map<char,vector<double> >存我们对应符号的vector导致超时。所以较少的vector能不用map,就不用map。

2025-05-25 11:48:52 246

原创 L2-12 关于堆的实现

记录一下这个卡了半个月的题:首先要看清题目,题目说的是每次往堆里加点,所以我们需要每次加点向上调整。我写成了记录初始堆每次向下调整,卡了11分。将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。xxyxyxy。

2025-04-18 20:38:10 323

原创 菜鸡的网安笔记(1):重点篇

没有技术,全是硬抄!笔记很菜,大佬勿喷~

2025-04-14 19:17:58 158

原创 STL学习之双端队列deque(AI生成版)

在使用deque前,需引入<deque>头文件,同时使用std命名空间。下面是定义deque// 定义一个存储int类型元素的deque// 定义一个包含5个元素,且每个元素初始值为10的dequereturn 0;

2025-04-11 10:47:08 355

原创 (PTA) L2-011-L2-015

L2-012 关于堆的判断 由于没有得到AC代码(1,3测试点错误),这里先不做展示,等后续复盘的时候进行补充。

2025-04-09 18:32:26 1632

原创 图论算法补充--Tarjan求割点

前面讲到过Tarjan算法的在有向图中缩点应用,这里主要讲解一下Tarjan算法在无向图中的应用,即利用Tarjan算法求无向图的割点问题。易知,在无向无环图中,如果节点度数大于等于2,说明它是割点。但是在无向有环图中,上述结论就不可以用了,所以需要利用Tarjan算法来求割点。

2025-04-09 17:49:41 744

原创 数据结构--堆

堆是一棵完全二叉树,树中的每个结点的值都不小于(或不大于)其左右孩子结点的值。其中,,这时每个结点的值都是以它为根节点的子树的最大值;,这时每个结点的值都是以它为根节点的子树的最小值。

2025-04-09 15:56:58 819

原创 图论算法补充--Tarjan求割点(AI梳理版)

在无向图中,割点是指去掉该点及与该点相连的所有边后,图的连通分量会增加的点。比如在一个城市交通网络(可看作无向图 ,节点是地点,边是道路 )中,某个关键地点(割点 )被封锁,会导致原本连通的区域被分割成多个不相连的部分。通过 Tarjan 算法,可以高效地找出无向图中的割点,在网络拓扑分析、通信网络健壮性分析等领域有广泛应用。

2025-04-09 15:53:12 439

原创 (PTA) L2-006-L2-010

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

2025-04-08 22:08:52 438

原创 合并数列(蓝桥杯)

他采取了其中两种方案,分别将他们列为两个数组 {a1,a2,...,an}{a1​,a2​,...,an​} 和 {b1,b2,...,bm}{b1​,b2​,...,bm​}。只需要将 a2a2​ 和 a3a3​ 合并,数组 aa 变为 {1,5,4}{1,5,4},即和 bb 相同。第二行为 nn 个由空格隔开的整数 a1,a2,...,ana1​,a2​,...,an​。第三行为 mm 个由空格隔开的整数 b1,b2,...,bmb1​,b2​,...,bm​。第一行为两个正整数 nn, mm。

2025-04-07 18:49:53 855

原创 数论学习--扩展欧几里得

欧几里得算法大家应该都知道,就是用来求解两个数得最大公因数得算法,即gcd(a,b),利用辗转相除得到结果。而最小公倍数也是在最大公因数得基础上进行求解得。

2025-04-07 00:20:57 631 1

原创 算法入门学习--快速幂

所谓快速幂,就是一种快速求一个数的n次幂的算法,我们常用的求幂的操作是pow(x,n)函数,但是在处理大指数的幂运算时,快速幂算法的性能优势会更加明显,能显著减少计算时间。

2025-04-07 00:18:15 827

原创 __int128_t 的使用

在 C++ 里,标准并未直接提供__int128_t类型,不过部分编译器(像 GCC 和 Clang)对其进行了扩展,这是一种 128 位的整数类型。该类型可处理远超long long范围的整数。下面为你介绍__int128_t。

2025-04-06 10:03:54 324

原创 双子数(蓝桥杯)

想破天没想到会爆long long,以为是素数筛+二分的题,最后还涉及精度问题!

2025-04-06 09:57:53 190

原创 数论学习笔记:素数筛

关于求素数的,如果只需要求一个素数,可以直接根据定义求。如果是求一个范围内的多个素数,就需要用到素数筛了,常用素数筛就是欧拉筛。

2025-04-06 01:07:04 146

原创 子2023(蓝桥杯)

没想到能想出来这个dp(蒟蒻的成就感,大佬勿喷),哈哈哈,记录一下~

2025-04-06 00:22:47 340

原创 子串分值和(蓝桥杯)

写出来了,但是感觉前两年写肯定写不出来,所以做个记录~

2025-04-04 23:58:18 440

原创 STL学习笔记之集合(set)和多重集合(multiset)

集合(Set)和。

2025-03-26 22:53:14 773

原创 图论学习笔记(6):Tarjan算法(强连通分量/缩点)

Tarjan算法是一种求解有向图中强连通分量的经典算法,其核心思想是基于深度优先搜索,来求有向图的强连通分量的算法。变量名变量类型变量作用g[1010]用于构造图,存每个顶点对应得边ststack<int>用于在深度优先搜索得时候存访问的节点b[1010]bool状态数组,用于判断对于顶点是否入栈tempint时间戳,用于给顶点分配次序号dfn[1010]int节点被搜索的次序号数组,用于记录节点是第几个被深度优先搜索访问的low[1010]int。

2025-03-22 20:45:19 2128

原创 图论学习笔记(7): 拓扑排序

是,如果一个有向图的任意顶点都无法通过一些有向边回到自身,那么称这个图为。

2025-03-22 20:45:06 189

原创 图论学习笔记(5):最小生成树 prim算法 和 kruskal算法

写在开头:如果你学会了Dijkstra,那么prim算法你就也掌握了差不多了,因为prim算法和Dijkstra算法实现思路是一致的,这里就不给大家展示朴素般的prim算法了,想要了解可以去看我的Dijkstra算法讲解,这里直接介绍堆优化版本的prim算法。而kruskal算法,不过是并查集的一个变式。整体都非常好理解。

2025-03-22 15:00:35 866

原创 图论小结(1)

简单总结一下最短路径问题和最小生成树问题。

2025-03-22 14:06:12 393

原创 图论学习笔记(4):Bellman-ford算法和SPFA算法

Bellman-ford算法的实现思路其实是非常简单的。初始时,我们需要构造一个距离数组d[maxn] 和 图结构体 vector<pii> g[maxn](用来存一条边的起点和终点和这个边的边权)。初始时我们令距离数组全为inf。令d[s]=0。接着我们开始进行n-1次(n是顶点数目)松弛操作。每次松弛操作遍历所有的边,如果加入这条边能够使起点到该顶点更近,那么更新距离数组。进行完n-1次松弛操作后,再进行一个边的遍历,检查距离数组还能不能被更新,如果不能被更新了,说明图中没有负权环。

2025-03-22 00:35:11 742

原创 图论学习笔记(2):Dijkstra例题集

特意列出来,主要是怕自己复习的时候找不到错题。

2025-03-20 22:43:27 225

原创 图论学习笔记(3):多源最短路径问题 folyd

folyd算法的思路和实现都特别简单。从 0 到n-1遍历每一个顶点k(作为中间顶点),对于每一对顶点(i, j),检查是否可以通过顶点k作为中间点来缩短从i到j的距离。如果,则更新。

2025-03-19 23:44:58 291

原创 图论学习笔记(2):最短路径问题 Dijkstra算法

操作一:已知图g和起点s,求起点到其他顶点的最短路径的问题。我们一般构造一个顶点集合S,最开始的时候顶点集中只有起点s。然后构造一个距离数组d[maxn],用来存储目前顶点集到各个顶点的距离,如果无法到达该顶点,设置距离为0或者inf(即无穷大),起始状态下d[s]=0。在构造数组 vis[maxn] 来记录顶点的访问状态,初始情况下设置状态 vis[s]=true。然后构造数组 pre[maxn] 用来存到达该顶点最短路径的前驱位置。操作二:构造好了数组,就可以开始进行一次遍历了。

2025-03-19 22:59:07 688

原创 P3916 图的遍历

这个应该是正向思路的一个最容易想到的想法,开始写记忆化的时候,因为没有考虑到每次能成功记忆化的应该只有自己(意思就是,每次进行记忆化搜索后能成功记录起来的数据只有自己),所以全wa。但是思路肯定没有问题,通过记忆化搜索,每个点搜索得到的结果进行记录,于是改进后成功得了70分。也说明思路没问题,只是数据量太大,记忆化不是正解。给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点。接下来 M 行,每行 2 个整数 Ui​,Vi​,表示边 (Ui​,Vi​)。

2025-03-19 20:15:28 394

原创 STL学习笔记之优先队列(priority_queue)

优先队列(priority_queue)底层是用堆来实现的一个数据结构,在优先队列中,队首元素一定是当前队列中优先级最高的那一个。在任何时候往优先队列(priority_queue)里面加入元素(push),优先队列的底层数据结构堆(heap)就会随时调整结构,使得每次队首元素都是优先级最大的。和普通队列不一样的是,优先队列(priority_queue)没有front()和back()函数,而只能通过top()函数来访问队首数据(也可以称为堆顶元素),也就是优先级最高的元素。

2025-03-19 19:32:14 419

原创 图论的学习笔记(1)

注意判环条件是本次路线经过过。我们一般从a开始访问,对a进行DFS时,发现哪里都去不了,再从b开始访问,b可以到a,然后a也哪里都去不了,最后从c开始访问,c到b,b到a。注意,因为无向图的边可以理解为是双向可达的,即 lastx→x→nextx,其中在x进行访问nextx时,如果只对他进行是否可达判定和是否已访问判定,就做出判断说该图是否有环的话,是不准确的,因为按照DFS的顺序进行访问的话,lastx顶点访问完后,赋值b[lastx]=true,此时下一个要访问的顶点就是x,然后访问从x可达的顶点。

2025-03-17 00:24:00 1907

原创 (PTA) L2-4 大众情人

L2-4 大众情人(分数 25)人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里,她和小蓝之间的距离为 108000,差了十万八千里…… 另外,我们进一步假定,距离感在认识的人之间是可传递的。

2025-03-14 18:27:12 427

原创 (PTA)L2-3:龙龙送外卖

我们可以知道,我们要求的。

2025-03-14 17:09:52 814

菜鸡的网安笔记(1):重点篇

菜鸡的网安笔记(1):重点篇

2025-04-14

菜鸡的网安笔记(1):重点篇

菜鸡的网安笔记(1):重点篇

2025-04-14

空空如也

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

TA关注的人

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