hdu1325 Is It A Tree?并查集

该博客主要讨论了HDU1325题目的解决方法,强调这道题相较于另一题hdu1272,数据更为严格,需要使用并查集来求解。博主指出了题目的关键点,包括输入的结束条件、判断是否存在单一“根”节点、验证所有节点的入度是否大于1,以及处理输入格式的特殊性。此外,对于有多个父节点的情况,博主建议通过维护一个记录入度的数组来解决。
摘要由CSDN通过智能技术生成

题目地址

单看题目的话和hdu1272是一样的。但是hdu1272的博文中我也说了,数据比较水,所以我用非并查集的方法就AC了。但是这题的数据没那么水,要用到并查集来解。这题的盲点和重点有这么几个:

  • 输入不是以-1 -1结束,而是以两个负数结束
  • 需要用并查集来判断是不是只有一个“根”
  • 需要判断所有节点的入度是否大于1
  • 本题输入的格式,也要注意一下。
可以先忽略图中的方向的。因为如果有环的话,就变成图了,若严格的按照用parent数组来保存上一级父节点的方法,会有冲突。

比如这个图中,8的父节点有两个那么parent[8]应该如何存储呢??所以我们可以把它看成无向图,无所谓父子,只需把关系集合merge合并就好了。这种有多个父节点的情况,就使用一个记录入度的数组来标记就好了。

#include<i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果冻虾仁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值