NEUQ-ACM week10

T1.P1119 灾后重建

思路:

本题的重点在于并非在每一个时刻,每一个节点都可以到达,所以应枚举目前所有可以到达的节点k,并以k为中转点进行更新。剩下就是floyd的模板

代码:

T2.P1636 Einstein学画画

思路:

一个简单的欧拉回路的模板,需要统计每个点的度数,如果每个点的度数都为偶数,那么就可以一笔画(因为每个点都有进有出),否则统计度数为奇数的点的个数(记为num)答案就是num/2(每次都把度数为奇数的点分别作为起点和终点)。(但是好难想)

代码:

T3.P2504 [HAOI2006]聪明的猴子

思路:

最小生成树的题,把两个点之间的距离算出来,一边Kruskal,记录下最大的边,和每只猴子的跳跃距离比较一下,如果跳跃距离大就ans++。因为跳跃距离比最长的边都大的话,那就比所有的都大了,然后那只猴子就可以跳到所有的树上了

代码:

T4.P3958 [NOIP2017 提高组] 奶酪

思路:

如果两个洞相交(或相切),就把它们连入一个集合。

可以想象一个集合就是一条通道。我们只需要判断每一条通道是否存在元素与底部、顶部相连即可。如果都有,那么输出 Yes。这个可以使用并查集来解决。

代码:

T5.P8654 [蓝桥杯 2017 国 C] 合根植物

思路:

使用并查集维护所有连根植物。

首先记录每个植物的根植物,一开始初始化为植物自己。

接着,寻找每对合根植物的根植物,将其结合起来。

最后判断所有的植物里,有多少个植物的根植物是不同的,也就是找出并查集中父节点的个数即可。

代码:

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值