还是经典的最小割模型
源点与每把钥匙连边,容量为钥匙的代价,每个宝物与汇点连边,容量为宝物的价值
然后每把钥匙与需要用它去开启的宝物连边,容量为无穷
获利为Sum(宝物的价值)-(需要的钥匙的代价+开启的宝物的价值,即最小割)
最后,与源点相连的切是割边的那些钥匙是必须的钥匙,注意的是,容量为0不一定为割边,但割边的容量一定为0
例如这组数据
1
3 3
2 4 3
1 5 6
0
2 1 2
1 3
答案为
4
1 3
代码:
还是经典的最小割模型
源点与每把钥匙连边,容量为钥匙的代价,每个宝物与汇点连边,容量为宝物的价值
然后每把钥匙与需要用它去开启的宝物连边,容量为无穷
获利为Sum(宝物的价值)-(需要的钥匙的代价+开启的宝物的价值,即最小割)
最后,与源点相连的切是割边的那些钥匙是必须的钥匙,注意的是,容量为0不一定为割边,但割边的容量一定为0
例如这组数据
1
3 3
2 4 3
1 5 6
0
2 1 2
1 3
答案为
4
1 3
代码: