CF1610F Mashtali: a Space Oddysey

题意

现在有一个由 nn 个节点 mm 条边组成的无向图,每条边的边权 w{1,2}w\in\{1, 2\}
d+u{d^+}_u 表示 uu 所有出边的权值和,令 du{d^-}_u 表示 uu 所有入边的权值和,一个点 uu 是好的,当且仅当 d+udu=1|{d^+}_u-{d^-}_u|=1
给每一条边定向,使得图上好的点最多,输出任意一种方案

n,m3×105n,m\le3\times10^5

题解

cw,uc_{w, u} 表示点 uu 边权为 ww 的边的个数,sw,us_{w, u} 表示点 uu 边权为 ww 的出边的数量减去边权为 ww 的入边的数量

上界 u[c1,umod2=1]\sum\limits_u [c_{1, u}\bmod 2=1] 能够达到

考虑欧拉回路

建立新图,对于原图上一条边 (u,v,w)(u, v, w),若 w=1w=1,新图上有 (u,v)(u, v),否则有 (u+n,v+n)(u+n, v+n)

可以保证 sw,u=cw,umod2|s_{w,u}|=c_{w,u}\bmod 2

c1,umod2=c2,umod2=1c_{1, u}\bmod 2=c_{2, u}\bmod 2=1,还要保证 sgn(s1,u)sgn(s2,u)\text{sgn}(s_{1, u})\not=\text{sgn}(s_{2, u}),连边 (u,u+n)(u, u+n)

再添加一个节点 SS,与目前度数为奇数的点连边

最后跑一遍欧拉回路定向,把边的方向对应回原图

时间复杂度为 Θ(n+m)\Theta(n+m)

代码 codeforces submission 145198606

CF1610F Mashtali: a Space Oddysey

https://gzezfisher.top/cf1610f/

作者

Fisher Cai

发布于

2022-02-05

更新于

2025-07-22

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×