【未完工题解】CF2110E Melody

一:【题意】

给你 \(n\) 个二元组,要求满足:
1.对于每个 \(i,a[i]=a[i+1] or b[i]=b[i+1]\)
2.对于每个 \(i\) 都不能有 \(a[i]=a[i+1]=a[i+2]\)\(b[i]=b[i+1]=b[i+2]\)
问是否有解,如果有输出方案
\(n<=2*10^5\)

二:【解法】

\(a_{1...n}\)\(b_{1...n}\) 的值域上考虑,建立 \(2*n\) 个点
如果存在二元组 \((a_i,b_i)\) ,那么在 \(a_i\)\(b_i\) 对应的节点之间连边
容易发现这是张二分图,问题也转化成了求二分图上的欧拉路径
记录节点顺序,映射回去即可

三:【代码】

(施工中)

posted @ 2026-01-13 14:26  Ming3398  阅读(0)  评论(0)    收藏  举报