[NOI Online 提高组]序列

明显感觉这题是个图论题,然后需要把两种边分别处理,就差不多了。

对于 t = 2 t=2 t=2 的边,可以把他当做是数值在点与点之间传递,所以如果在一个由 t = 2 t=2 t=2 的边组成的连通块里,答案为YES当且仅当这个联通快中 a a a 的和等于 b b b 的和。

可以把 t = 2 t=2 t=2 的边组成的连通块缩点,因为他们的性质和一个点并没有区别。

之后的问题就是关于 t = 1 t=1 t=1 的边怎么处理,把 t = 2 t=2 t=2 的边组成的连通块缩点后,这张图变成了一张无向非连通不简单图。不简单这一点,重边不需要考虑(因为功能一样),怎么考虑自环呢?先从非联通这一点开始,对于每个联通块分别判定合不合法,最后与起来就是最后的答案。

如果这个联通块中存在奇环,那么奇环上每两个点之间有且仅有一条长度为偶的路径,发现长度为偶的路径可以变成一条 t = 2 t=2 t=2 的边。

在这里插入图片描述
于是奇环上任意两点间可以互相传递数值,同时联通块中任意两点可以通过奇环来传递数值,也就是说这个带奇环的联通块间数值也是流动的,每次判定带奇环的联通块时可以直接判断a值的和与b值的和奇偶性是否相同即可。至于自环就可以直接认定为奇环就好了。

然后就是不存在奇环的联通块,那它肯定是一张二分图,根据如上的这些推理,发现数值只能在二分图的左部点之间流动,或者在右部点之间流动,两部分之间无法流通。所以对于不存在奇环的联通块,可以直接把左部点和右部点当做两个存在奇环的联通块来处理即可。

复杂度: O ( T N ) O(TN) O(TN)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值