求一道图论题
  • 板块题目总版
  • 楼主李若谷
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/4/4 16:45
  • 上次更新2023/11/5 01:03:18
查看原帖
求一道图论题
94605
李若谷楼主2021/4/4 16:45

每一个位置都有一个点vv,以及一个出入口。 总共有NN个点,以及2N2N个出入口,标记1...2N1...2N。 每个出入口会连接两个点。(无向)

N105N\leq 10^5

每个点都有44个出入口,标记p1,p2,p3,p4p_1,p_2,p_3,p_4。 其中p1p_1p2p_2是一组的,p3p_3p4p_4是一组的。

一个位置可以LL可以以(vi,pi)(v_i,p_i)来代表。

一个人站在某一个点的某一个出入口上,每一次那个人可以:

1.通过那个出入口走到另外一个点上(在另外一个点的那个出入口的位置)。

  1. 切换到这个点的在同一组下的另外一个出入口。也就是假设现在在(v,p1)(v,p_1),可以切换到(v,p2)(v,p_2),但是不能切换到(v,p3)(v,p_3)因为不是一组的。

每一个点都可以话费cic_i块钱,来改变那个点上的出入口的组。

比如,可以花cic_i块钱使得p1p_1p3p_3变成一组。

求至少要花多少钱才能使得所有位置都是连通的。(是位置,也就是所有的点的所有的出入口都能到)。

比如:

5
10 1 4 8 9
11 1 2 5 6
12 9 10 2 3
3 4 3 6 7
15 10 8 7 5

第一行是nn,后面每一行是cic_i(花费)和p1,p2,p3,p4p_1,p_2,p_3,p_4的编号。

此时将第一个点改为 1,91,9一组,4,84,8一组。以及将第4个点改为 7,47,4一组,6,36,3一组就能使每一个位置都连通。

总共花费1313


我的想法是把每一个点拆分成4个点,分别代表点和出入口,也就是把点变成了位置。

每一组的出入口只用用一条边连起来就行了。

但是不知道怎么计算最小花费。

2021/4/4 16:45
加载中...