图论

谱图论:Laplacian二次型和Markov转移算子

以下部分是我学习CMU 15-751: TCS Toolkit的课堂笔记。接下来将要介绍的是谱图论(spectral graph theory)的关键,也就是Laplacian二次型(Laplacian quadratic form)。直观地理解,Laplacian二次型刻画了图的“能量”(ener... ... »

Tarjan基础用法

# $\operatorname{Tarjan}$ 基础用法 [TOC] ## $\operatorname{Tarjan}$ 求最近公共祖先 ### 前置芝士 **最近公共祖先(Lowest Common Ancestor , LCA)**:一棵树中两个结点的 公共祖先里面,离根最远的那个被称为最 ... »

NightmareAlita

树链剖分 | 洛谷 P4114 Qtree1

给定一棵树,有修改边权和查询两点之间边权最大值两种操作,对于每个查询输出结果。 运用化边权为点权的思想,把边权转移到点上,并使用线段树维护最值。 ... »

树链剖分详解

顾名思义,树链剖分就是将整棵树剖分为若干条链,使它组合成一个线性结构,然后用其他的数据结构维护树上的信息。 重链剖分可以将树上的任意一条路径划分成不超过 $O(\log n)$ 条连续的链,保证划分出的每条链上的节点 DFS 序连续,因此可以方便地使用线段树之类的数据结构来维护树上的信息。 ... »

Heartquakes

图的存储

所谓图(graph),是图论中基本的数学对象,包括一些顶点,和连接顶点的边。 图可以分为有向图和无向图,有向图中的边是有方向的,而无向图的边是双向连通的。 邻接矩阵 (适用于稠密图) 用一个二维数组来记录各个点之间的关系,若u到v之间有一条边则可用map[u][v]=1来表示,具体如下 对应的无向图 ... »

carrotbinbin1F 图论

「学习笔记」二分图

「学习笔记」二分图 点击查看目录 知识点 定义及判定 定义:存在一种方案把点分为两个集合,使得同一个集合内的点没有连边的图。 比如这张图(by OI-Wiki): 判定:没有奇环。 考虑染色法,左边集合的点染成 $1$,左边集合的点染成 $0$。如果存在奇环则会有一个点不知道染成什么颜色,因此不是二 ... »

「学习笔记」二分图

「学习笔记」二分图 点击查看目录 知识点 定义及判定 定义:存在一种方案把点分为两个集合,使得同一个集合内的点没有连边的图。 比如这张图(by OI-Wiki): 判定:没有奇环。 考虑染色法,左边集合的点染成 $1$,左边集合的点染成 $0$。如果存在奇环则会有一个点不知道染成什么颜色,因此不是二 ... »

图论算法

图论算法 第一节 基本概念 一、什么是图? 很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。 二、图的一些定义和概念 (a)有向图:图的边有方向,只能按箭头方向从一点到另一点。(a)就是一个有向图。 ... »

zhangqixun

Java搜索与图论之DFS和BFS算法详解

目录 DFS和BFS简介 DFS数字排序 DFS皇后排序 DFS树的重心 BFS走迷宫 BFS八数码 BFS图层次 本次我们介绍搜索与图论篇中DFS和BFS,我们会从下面几个角度来介绍: DFS和BFS简介 DFS数字排序 DFS皇后排序 DFS树的重心 BFS走迷宫 BFS八数码 BFS »

E - 树状数组 1【GDUT_22级寒假训练专题五】

E - 树状数组 1 原题链接 题意 已知一个数列,你需要进行下面两种操作: 将某一个数加上 (x) 求出某区间每一个数的和 lowbit函数 定义一个函数(f=lowbit(x)),这个函数的值是(x)的二进制表达式中只保留最低位(1)得到的十进制数 比如: [(6 »

【二分图】匈牙利求最大匹配

导读 ^ _ ^ 情人节特刊。一群爱好算法的单身人士在家用着二分图匈牙利算法帮别人牵着红线。呜呜呜呜呜~ 匈牙利求最大匹配(n * m,实际效果很好) 思路与流程 对要匹配的指向可以匹配的对象。 从第一个点进行匹配 如果冲突,协商修改 每次修改或者匹配成功,则结果加1 月佬算法两个点的目标点“冲突” ... »

HX-Note

CF1466H Finding satisfactory solutions

CF1466H Finding satisfactory solutions 这题厉害了! 先考虑已知 (b) 如何求合法的 (a)。由于是排列,就想和置换环扯上关系。考虑将 (i) 与 (i) 最喜欢的物品连边,形成内向基环森林,直觉告诉我们这个环一定要直接选,事实也就是如此,否则 »

Dijkstra算法详解(朴素算法+堆优化)

定义 Dijkstra(读音:/'daɪkstrə/)算法,是用来求解一个边带权图中从某个顶点出发到达其余各个顶点的最短距离的算法。(为表达简便,下文中“起点(源点)到某个顶点的距离”简称为“某个顶点的距离”) 限制条件:各个边的权不能为负。 原理 假设s,v1,v2,...,vn(以下简称P1)为 ... »

算法之拓扑排序:把图切成片!

前置芝士 BFS,别告诉我连这个都不会。 算法介绍 定义 数学上的: 将DAG中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。 通俗一点: 用宽搜一层层把图切开。 前提:图是一个DAG(有向无环图) 解决什么问题 假设有一些工作,完成某 ... »

mornhus-xsylf-123

Java图论进阶之最小生成树算法详解

目录 1. 最小生成树 1.1 Kruskal(克鲁斯卡尔) 算法 1.2 Prime(普里姆) 算法 总结 1. 最小生成树 连通图中的每一棵生成树 , 都是原图的极大无环子图 , 即: 从中删去任何一条边 , 生成树就不再连通;反之 , 在其中引入任何一条新边 , 都会形成一条回 »

有向图的拓扑排序——DFS

在有向图的拓扑排序——BFS这篇文章中,介绍了有向图的拓扑排序的定义以及使用广度优先搜索(BFS)对有向图进行拓扑排序的方法,这里再介绍另一种方法:深度优先搜索(DFS)。 算法 考虑下面这张图: 首先,我们需要维护一个栈,用来存放DFS到的节点。另外规定每个节点有两个状态:未访问(这里用蓝绿色表示 ... »

图论(各种基础及算法详解)

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »

图论相关之匈牙利算法

目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ »