随笔分类 - 图论算法-最短路
摘要:[LOJ3255][JOI 2020 Final]奥运公交(最短路) 题面 给出一个个点条边的有向图,经过每条边需要费用.选择一条边并将其反向需要费用(反向后经过的费用不变).问至多反向一条边,从1到n再回到1的最小花费 \(n \leq 200,m \leq 500
阅读全文
摘要:[BZOJ1001]狼抓兔子(平面图最小割) 题面 略 分析 我们发现,如果把 每个平面区域看成一个点 ,交界处的边看成连接两个区域的边,再加两个点表示分割线的起点和终点、那么原图的一个割就对应新图的一条路径。如图上S (1) (4) (9) (10) T就构成了一个分割线,割断的边权为5,6,3,
阅读全文
摘要:[Codeforces 553E]Kyoya and Train(期望DP+Floyd+分治FFT) 题面 给出一个个点条边的有向图(可能有环),走每条边需要支付一个价格,需要的时间为中随机的整数,时间为的概率为。从出发走到,如
阅读全文
摘要:[LuoguP3502] [BZOJ 2085] [POJ2010]CHO Hamsters(KMP+最短路+矩阵快速幂) 题面 Tz养了只仓鼠,他们都有英文小写的名字,现在Tz想用一个字母序列来表示他们的名字,只要他们的名字是字母序列中的一个子串就算,出现多次可以重复计算。现在Tz想好了要出
阅读全文
摘要:[BZOJ1576] [BZOJ3694] [USACO2009Jan] 安全路径(最短路径+树链剖分) 题面 BZOJ1576和BZOJ3694几乎一模一样,只是BZOJ3694直接给出了最短路树 给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集
阅读全文
摘要:[Codeforces 1005F]Berland and the Shortest Paths(最短路树+dfs) 题面 题意:给你一个无向图,1为起点,求生成树让起点到其他个点的距离最小,距离最小的生成树可能有多个。给定k,如果方案数比k小就输出全部方案,否则输出k种方案。 分析 先跑最短路,对
阅读全文
摘要:[Codeforces 1205B]Shortest Cycle(最小环) 题面 给出n个正整数,若,则连边(注意i j的边和j i的边看作一条。问连边完图的最小环长度 $n \leq 10^5,0 \leq a_i \leq 10^{1
阅读全文
摘要:[luogu4768] [NOI2018] 归程 (Dijkstra+Kruskal重构树) 题面 题面较长,这里就不贴了 分析 看到不能经过有积水的边,即不能经过边权小于一定值的边,我们想到了kruskal重构树。我们把边按海拔高度从大到小排序,然后建立一棵Kruskal重构树。 树上维护什么呢?
阅读全文
摘要:[Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路) 题面 有n个空心物品,每个物品有外部体积和内部体积,如果,那么j就可以套在i里面。现在我们要选出n个物品的一个子集,这个子集内的k个物品全部套在一起,且剩
阅读全文
摘要:[Codeforces 464E] The Classic Problem(可持久化线段树) 题面 给出一个带权无向图,每条边的边权是$2^{x_i}(x_i include include include include include define maxn 500000 define maxm
阅读全文
摘要:题面 "传送门" 分析 考虑网络流 注意到数据包走的是最短路,所以我们只需要考虑在最短路上的边 由于最短路可能有多条,我们先跑一遍Dijkstra,然后再 遍历每条边(u,v,w) 如果dist[u]=dist[v]+w,则这条边肯定在最短路上 然后点的容量限制可以用拆点来解(常见套路)
阅读全文
摘要:题面: 变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 26776 Accepted Submission(s): 9787 Prob
阅读全文