![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【算法】最短路
文章平均质量分 55
mysterynoip
蒟蒻OIer
展开
-
bzoj 1576 [Usaco2009 Jan]安全路经Travel dijkstra+并查集/树链剖分
题面 题目传送门 解法 最短路树……emmmm,从未听说过…… 因为题目已经保证从111到其他所有点的最短路是唯一的,所以我们不妨把这些边全都记下来,然后就可以发现这些边共同构成一棵树 首先考虑为什么这是一棵树。显然,我们只要说明这些边不会构成环即可。如果出现环,那么说明从1到环上的点一定由至少2条最短路,和题目描述出现矛盾,所以这一定是一棵树 然后我们考虑,一条不在树上的边(x,y,v...原创 2018-08-27 14:04:26 · 186 阅读 · 0 评论 -
bzoj 2118 墨墨的等式 dijkstra+数学
题面 题目传送门 解法 数学题竟然变成了图论题…… 将问题转化一下,变成我们需要求a1x1+a2x2+…anxn=ma1x1+a2x2+…anxn=ma_1x_1+a_2x_2+…a_nx_n=m是否存在非负整数解 考虑这样一个思路,假设disidisidis_i表示上述式子对a1a1a_1取模的结果为iii,满足这样一个条件的数的最小值 那么,我们就可以对[0,a1)[0,a1)[0,...原创 2018-08-24 10:39:46 · 136 阅读 · 0 评论 -
bzoj 2750 [HAOI2012]Road 拓扑排序+最短路
题面 题目传送门 解法 又是最短路树(DAG)呢…… 暴力还是挺显然的,直接枚举起点和终点,然后做一遍最短路就可以了 然而复杂度就爆炸了,应该是O(n2(n+m)logm)O(n2(n+m)logm)O(n^2(n+m)\log m) 我们不妨枚举起点,假设为SSS 因为所有边均为正权,所以我们可以把所有可能出现在最短路上的边存下来,建出一个新图,显然这个新图一定是一个DAG 观察...原创 2018-08-31 15:51:22 · 292 阅读 · 0 评论 -
bzoj 1880 [Sdoi2009]Elaxia的路线 拓扑排序+spfa
题面 题目传送门 解法 比较精妙的图论题,比较综合 先考虑一下两对点之间最短路的公共路径是什么 显然,我们可以把所有点到每一对点的距离求出,然后枚举某一条边(x,y,v)(x,y,v)(x,y,v),如果dis[0][x]+v+dis[1][y]=dis[0][t]dis[0][x]+v+dis[1][y]=dis[0][t]dis[0][x]+v+dis[1][y]=dis[0][...原创 2018-08-21 23:10:47 · 121 阅读 · 0 评论