每一个位置都有一个点v,以及一个出入口。 总共有N个点,以及2N个出入口,标记1...2N。 每个出入口会连接两个点。(无向)
N≤105。
每个点都有4个出入口,标记p1,p2,p3,p4。 其中p1和p2是一组的,p3和p4是一组的。
一个位置可以L可以以(vi,pi)来代表。
一个人站在某一个点的某一个出入口上,每一次那个人可以:
1.通过那个出入口走到另外一个点上(在另外一个点的那个出入口的位置)。
每一个点都可以话费ci块钱,来改变那个点上的出入口的组。
比如,可以花ci块钱使得p1和p3变成一组。
求至少要花多少钱才能使得所有位置都是连通的。(是位置,也就是所有的点的所有的出入口都能到)。
比如:
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
第一行是n,后面每一行是ci(花费)和p1,p2,p3,p4的编号。
此时将第一个点改为 1,9一组,4,8一组。以及将第4个点改为 7,4一组,6,3一组就能使每一个位置都连通。
总共花费13。
我的想法是把每一个点拆分成4个点,分别代表点和出入口,也就是把点变成了位置。
每一组的出入口只用用一条边连起来就行了。
但是不知道怎么计算最小花费。