BZOJ-1016 最小生成树计数

每棵最小生成树的边权值的种类、数量都是一样的。

So先跑一次最小生成树,求出每种边权值在最小生成树的数量。

然后从小到大枚举,对于每种相同权值的边,设权值为X,这种边在最小生成树中出现的次数为T,枚举T条边,并加入第一次求出的最小生成树中权值小于X的边的集合,一边加入一边判断会不会成环(这得用到并查集)并记录合法方案数。最后Ans就是每种权值的方案数的乘积。

【Code】

posted @ 2014-11-12 22:05  NanoApe  阅读(...)  评论(... 编辑 收藏
AmazingCounters.com