2012年6月1日
摘要: http://poj.org/problem?id=3592每次做联通分量的题都是细节方面出错 伤不起呀一张图 有些点是有矿可走 有些不可走 有些是时空转换点矿车从左上开始走问最多能才多少矿1,把二维图变成一维 由于时空转换点的存在使图存在了环2,缩点 把环缩成一个点3,重新建树,4,搜索最多矿以后再也不在Tarjan里进行重建图了 太容易出错了果断在Tarjan后再dfs重新建图 虽然效率低了点但是不容易出错而且只要整体算法选择正确 是不会超时的由于数据小 所以dfs搜索最多矿就可以 不过要标记代码及其注释:#include<iostream>#include<cstrin 阅读全文
posted @ 2012-06-01 20:06 夜-> 阅读(220) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2186给你n头牛 他们之间会有一种 A认为B popular 的关系 而且这种关系是可传递的问你有多少头牛是被所有其他的牛认为popular1,缩点 将一个联通分量内的点缩成一个2,缩点同时记录联通分量内点的个数3,缩点后图变成了树 或者是 (非树)森林 如果是树 则树根连通分量内的点就是答案 如果是森林 答案为0 生成的树或森林 根方向上是被指向的。4,由于3的原因 搜索时还有注意标记哪些缩点是没有可能成为根的缩点5,如果根缩点只有一个(树) 则根就是答案 如果多个(非树森林)则为0注意 Tarjan 搜索是并不一定一次就能将所有的点搜干 阅读全文
posted @ 2012-06-01 09:53 夜-> 阅读(176) 评论(0) 推荐(0) 编辑