最小生成树
BrooksBUAA
这个作者很懒,什么都没留下…
展开
-
[BZOJ 4883][Lydsy2017年5月月赛]棋盘上的守卫:最小生成树
点击这里查看原题对于每个点,可以选择守横向或者守纵向。每行为一个点,每列为一个点,于是对于w[i][j],在i与j+n之间连一条权值为w[i][j]的边,然后去求带一个环的最小生成树,这样刚好有n+m条边,而且每条边都连了一个横行和一个纵行,也就是每条边代表了一个守卫。/*User:SmallLanguage:C++Problem No.:4883*/#include<bits/stdc+原创 2017-05-06 14:24:28 · 1046 阅读 · 0 评论 -
[BZOJ 3624][Apio2008]免费道路:最小生成树
点击这里查看原题由题目要求可知,最终得到的图是一棵树。因为要求类型为0的边恰好有k条,所以先对类型为1的边做生成树,再对类型为0的边做,得到必须有的0边。将这些0边加入,然后优先做类型为0的边,再做类型为1的边即可/*User:SmallLanguage:C++Problem No.:3624*/#include<bits/stdc++.h>#define ll long long#d原创 2017-05-08 14:11:26 · 384 阅读 · 0 评论