[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 的边。

[NOI Online 提高组]序列_第1张图片
于是奇环上任意两点间可以互相传递数值,同时联通块中任意两点可以通过奇环来传递数值,也就是说这个带奇环的联通块间数值也是流动的,每次判定带奇环的联通块时可以直接判断a值的和与b值的和奇偶性是否相同即可。至于自环就可以直接认定为奇环就好了。

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

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

你可能感兴趣的:(题解,图论)