Description
你曾经有一个循环流(每个点均满足流量平衡条件),这个流网络上有 n 个点,
且每条边的流量只有 1 或 2,可能有重边却没有自环。显然,由于它是一个流网络,
它是一个弱连通图(将边视为无向边后为连通图)。遗憾的是你找不到这个流了,但
你曾经记下了它流量为 1 的边的数量和流量为 2 的边的数量。由于这个图的点数有
点多,你很有可能数错边数,因此你现在想知道存不存在这样一个流符合你记下的
数据。
Solution
真⋅\cdot⋅欺诈题
n=2n=2n=2时可以特判。
对于n>2n>2n>2的情况,如果全是流量为111的边,我们可以构造一种欧拉回路,提供一种思路:先从111走到nnn,覆盖111~nnn,中间可以走重复的点(不能走自环,且中途不能走到111),走a−1a-1a−1条边,最后直接走到111。
如果有流量为222的路径,我们先用222边从111走出覆盖点最多的一条链(可以走重点,同样不能走到111),记这时走到的点为xxx,那么从xxx到111连一条111边,那么相当于所有的222边都变成了111边,那么接着从xxx按前面的策略往下走即可。
所以当b=0b=0b=0时,a≥na\geq na≥n有解;a=0a=0a=0时,b≥nb\geq nb≥n有解;其它情况,a−1+b>=na-1+b>=na−1+b>=n有解。