
图论
Dawn-K
Don't understand? Then understand
展开
-
CF1027D Mouse Hunt(dfs+图论)
CF1027D文章目录CF1027D题意输入输出解析代码启示题意n间宿舍里有老鼠,老鼠(只有一只)可能出现在任何一间寝室,然后它在第i个寝室里待一秒后一定会跑向第c[i]个寝室,给出在每个寝室布置陷阱的成本,求无论老鼠初始出现在那个寝室,一定会被抓住的最低成本.输入第一行给出n(1<=n<=2e5)第二行给出n个数字,每个大小都是[1,1e4],第i个表示c[i],即在...原创 2019-03-20 15:23:00 · 311 阅读 · 0 评论 -
树的直径
树的直径概念给定一棵树,树中每个边都有权值,树中两点之间的距离定义为连接两点的路径边权和.树中最远的两点之间的距离称之为树的直径,也就是树的最长链(偶尔也指代为一条路径).树的直径有两种求法,都是O(n)的.一种是基于树形dp(之后再补上).一种是基于搜索.搜索我们随便找一个节点作为根(之前如果有根就不用换).进行一次搜索,找到距离根最远的节点p,然后再将p作为起点,寻找一个距离p最远的...原创 2019-07-30 21:41:37 · 263 阅读 · 0 评论 -
分层最短路
分层最短路介绍分层图最短路在最短路的基础上,增加了一个条件:可将 k 条边的权值变为 0.分析这种问题我们可以想到一种做法:如图,我们构建一个多层的图,其中每一层都是和题目中给的图相同.(图中假设k==1)上面的层表示不将任何边的权值变为0,而下面的这一层表示使用了这个机会后的状态.也就是0号节点可以不使用机会,转移到2号节点,也可以使用机会转移到7号(其实就是二号的镜像节点)....原创 2019-07-30 21:43:26 · 464 阅读 · 0 评论 -
链式前向星
链式前向星介绍链式前向星是一种用于存图的数据结构,比较适用于存稀疏图.其综合了邻接表,邻接矩阵的优缺点,然后在前向星的基础上进行改进.时间复杂度,空间复杂度,查询复杂度都是O(m)初始化void CFSInit() { // 链式前向星初始化 cnt = 1; // 其实这里是0也无所谓 memset(head, 0, sizeof(head));}插入void ...原创 2019-07-30 21:44:39 · 231 阅读 · 0 评论 -
SPFA
SPFA简介SPFA算法是一种求单源最短路的算法,其BFS写法是基于Ford的队列优化。但是尤其其经常被卡,所以一般不用于正权图,而是用于负权图来求最短路或者判断负环。算法思想主要思路是动态逼近法,也就是不断优化,直到无法优化路径。我们设置一个队列,用于存储待优化的节点。每次将队首节点出队,然后用其松弛邻接的结点,如果能松弛,则将可松弛的节点的距离更新,然后将可松弛节点加入队列。循...原创 2019-08-07 01:53:35 · 822 阅读 · 0 评论