社区讨论
简单做法分享
P2764最小路径覆盖问题参与者 9已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mhj45hxt
- 此快照首次捕获于
- 2025/11/03 20:25 4 个月前
- 此快照最后确认于
- 2025/11/03 20:25 4 个月前
使用 表示一条流量为 ,费用为 的边。
看到“必须到达每个点”,不难想到把每个点拆成 ,连边:
旧思路折叠
-
,必须到达一点
-
,补偿上一步消耗的流量
-
,新开启一条路径
-
-
对于原图的边 ,
然而这是不对的。问题在于, 点可能接受了 的流量(第二类和第四类)。解决方法也很简单,新开一个点 ,连边 并将原先第五类 的边改为 ,即让每个 仅有一条出边被留过。这样就可以解决问题了。
但是这似乎有些繁琐,考虑更简单的方案。
发现上面的一,二两类边已经完全覆盖了第四类边的作用。所以我们直接删去第四类边。这样,上面的 接受大于 的流量的问题也随之解决。
所以,可以得到本题做法如下。
-
,必须到达一点
-
,补偿上一步消耗的流量
-
,新开启一条路径
-
对于原图的边 ,
仍然可以通过。
构造方案应该是简单的,不再赘述。
回复
共 8 条回复,欢迎继续交流。
正在加载回复...