随笔分类 - 图论——最短路
摘要:题目链接 Buy a Ticket 题意 给定一个无向图。对于每个$i$ $\in$ $[1, n]$, 求$min\left\{2d(i,j) + a_{j}\right\}$ 建立超级源点$n+1$, 对于每一条无向边$(x, y, z)$,$x$向$y$连一条长度为$2z$的边,反之亦然。 对
阅读全文
摘要:题目链接 Legacy 首先对于输入的$n$,建立一棵线段树。 显然线段树有大概$2n$个结点,每个节点对应一段区间 我们把这$2n$个结点加入我们的无向图中,一起跑最短路。 具体连边方案: 我们把这棵线段树复制一下,另外一棵倒过来。 首先第一棵线段树,每个结点向他的两个儿子连有向边,连到叶子结点的
阅读全文
摘要:题目链接 D.Delete 考虑到原图是个DAG,于是我们可以求出每个点的拓扑序。 然后预处理出起点到每个点的最短路$ds[u]$, 和所有边反向之后从终点出发到每个点的最短路$dt[u]$。 令点$u$的拓扑序为$a(u)$。 对于特定的一条边$(u, v, w)$,相当于给所有拓扑序为$[a(u
阅读全文
摘要:题目链接 Flights for Regular Customers 首先按照$d$的大小升序排序 然后分成$m$个时刻,每条路径一次处理过来。 $can[i][j]$表示当前时刻$i$能否走到$j$ $can$通过上一条路径后的$can$和当前的可行路径矩阵的$d$次幂得到。 这由$floyd$求
阅读全文
摘要:题目链接 HDU5636 n个点,其中编号相邻的两个点之间都有一条长度为1的边,然后除此之外还有3条长度为1的边。 m个询问,每次询问求两个点之前的最短路。 我们把这三条边的6个点两两算最短路, 然后询问的时候用这6个点的距离来更新答案就可以了。 (不过听说好像有更好的方法,先占个坑) 时间复杂度$
阅读全文
摘要:题目链接 All Roads Lead to Rome 题目大意:求符合题意(三关键字)的最短路。并且算出路程最短的路径有几条、 思路:求最短路并不难,SPFA即可,关键是求总路程最短的路径条数。 我们令$h[i][j]$为$i$到$j$的最短路,$g[i][j]$为$i$到$j$的最短路条数。 $
阅读全文

浙公网安备 33010602011771号