题解:abc395_e E - Flip Edge

题解:abc395_e E - Flip Edge
xyx404题意:
给定一个有向图,我们从顶点 出发,想要到达顶点 。
有两种操作:
- 沿着有向边移动到下一个顶点,花费为 。
- 反转所有边的方向,花费为 。
我们的目标是找到到达 的最小总花费。
思路:
最短路,迪杰斯特拉。
只需要改建图就行了。
建图:
每个顶点 在原图和反转图中被分别表示为两个节点 为状态 原图和 为状态 反转图。
原图边:对于原边 到 ,在状态 中添加边 到 代价为 。
反转边:对于原边 到 ,在状态 中添加边 到 代价为 。
状态切换边:每个顶点 在两种状态间添加 到 的双向边,代价为 。
之后照常跑迪杰斯特拉就行了。
因为每个点都被分成了两个,所以最后输出要在两个终点中取最小值。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果