NYOJ 207 POJ 1182 带权并查集做法(√)

14 篇文章 0 订阅
4 篇文章 0 订阅

题目链接 NYOJ 207 , POJ 1182 食物链

这道题在NYOJ上难度为5,我刚开始用普通并查集做的,WA。后来看了网上不少的解题报告,大家都在使用一种叫做带权并查集的做法。这种做法用到了离散数学里面最近学到的一些偏序关系等等,看的有点晕。但是大体上还是能够接受的。

带权并查集在普通并查集的基础上增加了一个当前节点与父节点(根节点)的关系。通过使用0,1,2来表示两者之间的关系。

参照着带权并查集的做法AC了,但是这两天我一直在考虑一组特别的数据。

6 8
2 1 2
2 2 3
2 4 5
2 5 6
2 4 2
2 5 3
2 1 6
1 3 6

画出关系图是这样的


显然,这个图片中的6个动物没有任何不合理,但是现在所有网上的AC代码都不能正确识别这组数据(输出的都是1)。

这是个人比较困惑的地方。

【补充】20160508

问了教练之后发现这组数据本身就有问题,如果5吃3,5吃6说明3和6是同类,1吃6且1吃2而2和6是同类,则2和3是同类(矛盾!2吃3)

所以说还是我对题目的理解有问题....


AC传送门 View Source On GitHub

我在GitHub上建立了一个仓库,用于存放已经AC的题目的源代码。如果各位有未收录的题目或者有更好的解法,欢迎fork仓库+PR~ 让我们共同创建一个AC代码集中仓库,造福ACM Beginner ~

仓库地址: OJ-Problems-Source On GitHub


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值