
图论
文章平均质量分 74
图论
jigsaw_zyx
人生总是来来往往,可凭心而行,可随心而动,千万别等来日方长
展开
-
LCA几种算法
下来 n−1 行,每行三个整数 x,y,k,表示点 x 和点 y 之间存在一条边长度为 k;接下来n行每行一对整数对a和b表示a和b之间有连边。对于每一个询问,输出1:如果x是y的祖先,输出2:如果y是x的祖先,否则输出0。再接下来 m 行,每行两个整数 x,y,表示询问点 x 到点 y 的最短距离。给出 n 个点的一棵树,多次询问两点之间的最短距离。共 m 行,对于每次询问,输出一行询问结果。节点的编号x和y,询问x与y的祖孙关系。第n+2行是一个整数m表示询问个数。接下来m行,每行两个正整数x和y。..原创 2022-08-05 18:49:16 · 382 阅读 · 2 评论 -
L2-004 搜索树判断 (25 分)&&L2-011 玩转二叉树 (25 分)(完全二叉树的一些性质)
题目描述对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。输入格式:输入的第一行包含一个正整数N(≤1000),第二行包含N个整数,为给出的整数键值序列,数字间以空格分隔。输出格式:输出的第一行首先给出判断结果,如果输入的序列是某棵二原创 2022-03-01 23:35:26 · 443 阅读 · 1 评论 -
二分图相关算法
二分图:当且仅当图中不含奇数环有奇数环发生矛盾文章目录染色法题目描述题解AC代码匈牙利算法题目描述题解AC代码染色法判断一个图是不是二分图题目描述给定一个n个点m条边的无向图,图中可能存在重边和自环。请你判断这个图是否是二分图。输入格式第一行包含两个整数n和m。接下来m行,每行包含两个整数u和v,表示点u和点v之间存在一条边。输出格式如果给定图是二分图,则输出“Yes”,否则输出“No”。数据范围1≤ n,m≤ 105输入样例:4 41 31 42 32 4输出样原创 2022-02-17 21:43:02 · 373 阅读 · 0 评论 -
最小生成树
文章目录朴素版prim算法题目描述代码朴素版prim算法关键词:稠密图,时间复杂度O(n^2)每次选择不在连通块的最小距离的点,然后更新数据题目描述给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。由V中的全部n个顶点和E中n-1条边构成的无向连通子图被称为G的一棵生成树,其中边的权值之和原创 2022-02-15 23:08:04 · 272 阅读 · 1 评论 -
BFS应用—拓扑序列
问题描述给定一个n个点m条边的有向图,点的编号是1到n,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。输入格式第一行包含两个整数n和m接下来m行,每行包含两个整数x和y,表示存在一条从点x到点y的有向边(x, y)。输出格式共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。否则输出-1。数据范围1≤n,m≤105输原创 2022-02-13 16:37:26 · 142 阅读 · 2 评论 -
最短路径算法大集合
文章持续更新前言最近开始学习图论了,先从最短路径开始,文章持续更新我学习的内容,一起学习的小伙伴可以借鉴思路,有误的地方也请多加指正~最短路径前言朴素dijstra朴素dijstra根到节点的最短路径每次选择最小的边进行遍历,每次确定一个点,更新这个点有关的边#include<iostream>#include<algorithm>#include<cstring>int n,m;int N=510,M=100100;int g[N][N];原创 2021-07-18 13:00:00 · 280 阅读 · 0 评论