算法学习专栏——并查集 一、合并集合(简单+)一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输入格式第一行输入整数 n 和 m。 接下来 m 行,每行包含一个操作指令,指令为 M a b 2024-02-27 算法学习专栏 #算法 #并查集
算法学习专栏——spfa 一、spfa求最短路(中等–)给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离,如果无法从 11 号点走到 n 号点,则输出 impossible。 数据保证不存在负权回路。 输入格式第一行包含整数 n 和 m。 接下来 m 行每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。 输出格式输出 2024-02-27 算法学习专栏 #练习 #算法 #最短路问题
算法学习专栏——Dijkstra(二)+bellman-ford 前言 我们现在介绍的所有这些算法都是前面的一些怪物想出来,所以你实在想不出来,也是非常正常的,每一个算法都可以写成一本大书,然后我们必须在短短的数天之内把它们完全搞懂,这就已经是一件非常具有挑战性的事情了,而我现在就是带领着大家做这么一件事情,按照我原本自己的学习周期,这些算法至少是花费了我将近5个月甚至更长的时间,但是现在我必须在2个月内将你们教会还需要熟练运用,这何尝不是一件难事,所以呢,如 2024-02-27 算法学习专栏 #算法 #最短路问题 #bellman-ford
算法学习专栏——拓扑排序+Dijkstra(一) 前言 大家可以看下面视频了解一下什么是拓扑排序。 数据结构——拓扑排序和逆拓扑排序_哔哩哔哩_bilibili 详细内容可以不会,之后慢慢学,只需要知道它是要干怎么个事情就可以了。 一、有向图的拓扑序列(简单+)给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环(这两个词见名见名之意)。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1 2024-02-27 算法学习专栏 #算法 #最短路问题
算法学习专栏——广度优先遍历 一、图中点的层次(中等-)给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1,点的编号为 1∼n。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。 输入格式第一行包含两个整数 n 和 m。 接下来 m 行,每行包含两个整数 a 和 b,表示存在一条从 a 走到 b 的长度为 1 的边。 输出格式输出一个整数,表示 1 号 2024-02-27 算法学习专栏 #算法 #最短路问题
算法学习专栏——深度优先遍历+BFS 前言 大家大概率是还没有接触到图的概念的,所以我这里先简单简单介绍一下图的基本概念。 图是什么?图实际上就是多个地点之间连线和地点的集合。 没看懂,再说清楚点,看下图: 像这样一张图,可以看做一个标准的图。有箭头的图(两个点直接有方向性,就以上图为例,1可以到2,但是2不可以到1),就是有向图。 反之没有箭头(这样两个地方就是互通的,可以双向走)。 上面的一点点内容弄懂了就可 2024-02-27 算法学习专栏 #算法 #BFS
算法学习专栏——递归(DFS) 前言 递归这一种算法类型应该属于所有算法中比较绕的一种算法,对于讲解的难度比较大,即使是最简单的递归写法都可能很难用一个示意图来表示出来。比如说下面这段代码,大家应该可以看得出来: 123456789101112131415#include <iostream>using namespace std;int sum(int n) { if (n != 1) return n 2024-02-27 算法学习专栏 #算法 #DFS
算法学习专栏——一、二维差分 一、差分(一维)(简单-)输入一个长度为 n 的整数序列。 接下来输入 m 个操作,每个操作包含三个整数 l,r,c,,,表示将序列中 [l,r][,] 之间的每个数加上 c。 请你输出进行完所有操作后的序列。 输入格式第一行包含两个整数 n 和 m。 第二行包含 n 个整数,表示整数序列。 接下来 m 行,每行包含三个整数 l,r,c表示一个操作。 输出格式共一行,包含 n 个整数,表示最终序列 2024-02-26 算法学习专栏 #练习 #算法 #差分
8、算法练习专栏——牛客练习—-牛客小白月赛88 A:超级闪光牛可乐链接 题目描述 森林中出现了野生的超级闪光牛可乐口牙! 虽然我们不能为每一位参赛选手提供超级闪光牛可乐,但是……参加小白月赛且有通过题目的选手,第一名,前50名抽1人,51-200名抽2人,201名之后每100人抽1名,赠送牛可乐U型枕! 森林中出现了野生的超级闪光牛可乐!想要捕捉它,你至少需要投 2024-02-25 算法练习专栏 #练习 #算法 #大模拟 #比赛 #牛客 #数学知识
算法练习专栏Acwing周赛练习第147场周赛 算法练习专栏Acwing周赛练习第147场周赛A:平衡数组(简单)5555. 平衡数组 - AcWing题库 给定一个长度为 n 的整数数组 a1,a2,…,an。 如果一个整数数组恰好包含相同数量的奇数元素和偶数元素,就称该数组为一个平衡数组。 请你判断数组 a 是否是一个平衡数组。 保证 n 是偶数。 输入格式第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式如果数 2024-02-25 算法练习专栏 #练习 #算法 #Acwing