带权并查集维护二分图
带权并查集维护二分图
今天CF1C的一道题,不会这个trick,愉快掉分。
维护二分图相当于连边的时候判断能否形成奇环
如果两个点不在同一并查集,他们祖先连的边的权值=w[u]⊕w[v]⊕1,考虑二分图染色,如果uv同色,连通块间需要加上一条权值为1的边来转换颜色,这也是带权并查集比dfs好的地方
如果在同一个并查集,检查颜色(w[u/v])是否相同,相同就有奇环,染色失败。
今天CF1C的一道题,不会这个trick,愉快掉分。
维护二分图相当于连边的时候判断能否形成奇环
如果两个点不在同一并查集,他们祖先连的边的权值=w[u]⊕w[v]⊕1,考虑二分图染色,如果uv同色,连通块间需要加上一条权值为1的边来转换颜色,这也是带权并查集比dfs好的地方
如果在同一个并查集,检查颜色(w[u/v])是否相同,相同就有奇环,染色失败。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· BotSharp + MCP 三步实现智能体开发
· dify升级,PostgreSQL数据库字段更新处理
· AI团队比单打独斗强!CrewAI多智能体协作系统开发踩坑全解析
· 3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queue