随笔分类 -  图论

摘要:传送门 N和K都不大 可以跑分层图 设dis[ i ] [ j ] [ k ] 表示从起点到坐标为 i , j 的点,还剩下可以跑 k 步的油时的最少花费 然后用 Dijkstra 跑分层图 走下一步时就分开来讨论每种可能的操作 但是一定要注意每种操作的顺序 先走,然后考虑走到的这点要不要设加油站, 阅读全文
posted @ 2018-09-25 13:41 LLTYYC 阅读(355) 评论(0) 推荐(0)
摘要:传送门 肯定是最短路 而且题目有限制,不存在负环 所以可以跑堆优化的Dijkstra 但是因为有负边权,所以跑得很慢 这时可以利用题目的条件 每个联通块内是没有负边权的 所以可以优先处理单个块之内的最短路 这样一个块一个块地处理 可以跑得很快 可以用Tarjan处理每个点所在的联通块 代码: #in 阅读全文
posted @ 2018-09-25 13:15 LLTYYC 阅读(256) 评论(0) 推荐(0)
摘要:传送门 走一条路线时 肯定先在最便宜的城市买入,然后在最贵的城市卖出 所以我们只要确定一条路径中最便宜的价格和一条路径中最贵的价格 但是要注意一点:先买入,再卖出 可以从起点dfs一波,求出起点到每个点的所有路径中,最便宜的价格为多少 然后从终点沿反向边再dfs一波,求出每个点到终点的所有路径中,最 阅读全文
posted @ 2018-09-24 11:25 LLTYYC 阅读(181) 评论(0) 推荐(0)
摘要:传送门 算法:最大生成树 & LCA 题目要求两点之间最小边权 的最大值.. 就是两点之间有多条路径,每条路径有一个 最小边权 要找到最大的 最小边权 考虑kruskal算法的过程 如果我们每次把能使图两个块联通的最大的边加入图中 那么最终出来的图就称为最大生成树 显然 在最大生成树中,两点之间的路 阅读全文
posted @ 2018-08-25 15:35 LLTYYC 阅读(234) 评论(1) 推荐(1)