图论
文章平均质量分 80
memcpy0
希望探索文理结合的自由之路。
展开
-
LeetCode 2097. 合法重新排列数对【欧拉通路,DFS】2650
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-17 19:40:59 · 231 阅读 · 0 评论 -
LeetCode 753. 破解保险箱【欧拉回路,DFS】困难
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-17 18:29:48 · 305 阅读 · 1 评论 -
LeetCode 332. Reconstruct Itinerary【欧拉回路,通路,DFS】困难
题意:给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。说明:如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 ["JFK", "LGA"] 与 ["JFK", "LGB"] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在一种合理的行程。...原创 2023-09-17 16:47:16 · 168 阅读 · 0 评论 -
LeetCode 1042. Flower Planting With No Adjacent【模拟,图,BFS,DFS】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-04-16 15:58:23 · 941 阅读 · 0 评论 -
LeetCode 2039. The Time When the Network Becomes Idle【图/BFS】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类.原创 2022-03-21 00:28:49 · 197 阅读 · 0 评论 -
LeetCode C++ 1462. Course Schedule IV【Graph/BFS/Floyd】中等
There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. For example, th原创 2021-05-17 20:49:17 · 545 阅读 · 1 评论 -
洛谷 P3388 【模板】割点(割顶)
题目背景割点题目描述给出一个 nnn 个点,mmm 条边的无向图,求图的割点。输入格式第一行输入两个正整数 n,mn,mn,m 。下面 mmm 行每行输入两个正整数 x,yx,yx,y 表示 xxx 到 yyy 有一条边。输出格式第一行输出割点个数。第二行按照节点编号从小到大输出节点,用空格隔开。输入输出样例输入 #16 71 21 31 42 53 54 55 6输出 #11 5说明/提示对于全部数据,1≤n≤2×104,1≤m≤1×1051\leq原创 2021-04-05 22:08:46 · 169 阅读 · 0 评论 -
HDU 3342 Legal or Not【Graph/Topological Sort】
Problem DescriptionACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many “holy cows” like HH, hh, AC, ZT, lcc, BF, Qinz and so on chat on-line to exchange their ideas. When so原创 2021-03-15 00:30:33 · 173 阅读 · 0 评论 -
HDU 1285 确定比赛名次【Graph/Topological Sort】
Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(1<=N<=500),M;其中N表示队伍的个数,M表示接着有M行的输入数据。接下来的M行数据中,每行也有两个整数原创 2021-03-15 00:18:39 · 173 阅读 · 0 评论 -
LeetCode C++ 1765. Map of Highest Peak【Graph/BFS】中等
You are given an integer matrix isWater of size m x n that represents a map of land and water cells. If isWater[i][j] == 0, cell (i, j) is a land cell. If isWater[i][j] == 1, cell (i, j) is a water cell.You must assign each cell a height in a way that原创 2021-03-13 22:11:41 · 244 阅读 · 0 评论 -
LeetCode C++ 面试题 04.01. Route Between Nodes LCCI【Graph/BFS/DFS】中等
Given a directed graph, design an algorithm to find out whether there is a route between two nodes.Example1:Input: n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2Output: trueExample2:Input: n = 5, graph = [[0, 1], [0, 2], [0, 4原创 2021-01-18 20:02:15 · 165 阅读 · 0 评论 -
【算法学习】图论专题 判断无向图中环的存在、环的输出
文章目录一、无向图 Detect Cycle in a Undirected Graph1. DFS(1) 判断环的存在(2) 输出环路2. BFS(1) 判断环的存在3. Union-Find(1) 原理讲解(2) 代码实现二、有向图 Detect Cycle in a Directed Graph1. Detect Cycle in a Directed GraphDetect Cycle in a Directed Graph using BFSDetect Cycle in a directed g原创 2020-11-30 17:38:20 · 11558 阅读 · 1 评论 -
LeetCode 997. Find the Town Judge【图论】简单
In a town, there are N people labelled from 1 to N. There is a rumor that one of these people is secretly the town judge.If the town judge exists, then:The town judge trusts nobody.Everybody (except for the town judge) trusts the town judge.There is原创 2020-11-09 15:20:33 · 202 阅读 · 1 评论 -
LeetCode C++ 310. Minimum Height Trees【Graph/BFS/拓扑排序】中等
Given two arrays, write a function to compute their intersection.Example 1:Input: nums1 = [1,2,2,1], nums2 = [2,2]Output: [2]Example 2:Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]Output: [9,4]Note:Each element in the result must be unique.The re原创 2020-11-04 21:31:32 · 314 阅读 · 0 评论 -
LeetCode 1034. Coloring A Border【图/DFS/BFS】中等
Given a 2-dimensional grid of integers, each value in the grid represents the color of the grid square at that location.Two squares belong to the same connected component if and only if they have the same color and are next to each other in any of the 4 d原创 2020-11-02 21:01:49 · 207 阅读 · 0 评论 -
【算法学习】图论专题 关键路径
以后详细解释,先把代码放上来:#include <iostream>#include <initializer_list>#include <cstdio> #include <algorithm>#include <vector>using namespace std;/*** 编制一个算法程序, 求AOE网的关键路径,** 可以自己构造数据或使用P266页图7.36数据测试。P266页图7.36数据: A B 6A原创 2020-10-28 23:35:00 · 203 阅读 · 0 评论 -
【算法学习】图论1 图的概念和存储
文章目录1. 邻接矩阵2. 邻接表3. 链式前向星图 Graph 是图论中的基本研究对象,由顶点 Vertex 和边 Edge 组成。1. 邻接矩阵2. 邻接表3. 链式前向星用数组模拟链表,这种方法叫做原创 2020-07-25 16:07:52 · 321 阅读 · 0 评论 -
洛谷 P4779 【模板】单源最短路径(标准版)
题目背景2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100→60;Ag→Cu;最终,他因此没能与理想的大学达成契约。小 F 衷心祝愿大家不再重蹈覆辙。题目描述给定一个 nnn 个点,mmm 条有向边的带非负权图,请你计算从 sss 出发,到每个点的距离。数据保证你能从 sss 出发到任意点。输入格式第一行为三个正整数 n,m,sn,m,sn,m,s 。 第二行起 mmm 行,每行三个非负整数 ui,原创 2020-06-16 01:19:30 · 345 阅读 · 0 评论 -
洛谷 P3371 【模板】单源最短路径(弱化版)
题目背景本题测试数据为随机数据,在考试中可能会出现构造数据让 SPFA 不通过,如有需要请移步 P4779 。题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入格式第一行包含三个整数 n,m,sn,m,sn,m,s,分别表示点的个数、有向边的个数、出发点的编号。接下来 mmm 行每行包含三个整数 u,v,wu,v,wu,v,w,表示一条 u→vu \to vu→v 的,长度为 www 的边。输出格式输出一行 nnn 个整数,第 iii 个表示 sss 到第 iii原创 2020-06-15 21:59:35 · 348 阅读 · 0 评论 -
【二分图】LeetCode C++ 785. Is Graph Bipartite? 【Medium】
Given an undirected graph, return true if and only if it is bipartite.Recall that a graph is bipartite if we can split it's set of nodes into two independent subsets A and B such that every edge in t...原创 2020-02-21 00:19:00 · 380 阅读 · 0 评论