当前位置: 首页 > news >正文

扩展域并查集(种类并查集)

理解思想

一.团伙

给定若干满足如下两条的关系,求会构成多少个团伙:

为朋友。

为敌人。

普通并查集维护朋友关系依靠的是朋友关系具有传递性,即朋友的朋友还是朋友。但是,敌人的敌人是朋友并不满足上述传递性,因此需要想办法将问题转化为满足传递性。这就是扩展域并查集维护的问题方法。

每个人存在两种关系,将两种关系分为两个集合:

朋友集(

)。

敌人集(

)。

对于每种关系:

如果

是朋友,就将

加入

的朋友集,即操作:

//将y加入x的朋友集(x)

add(x,y);

如果

是敌人,就将

加入

的敌人集,将

加入

的敌人集,即操作:

//分别将x,y加入对方的敌人集

add(x+n,y);//x的敌人集(x+n)

add(y+n,x);//y的敌人集(y+n)

这样实际上利用了:

敌人的敌人就是朋友这一性质,将无法维护(无法合并)的敌对关系

,换成了敌人与敌人间的朋友关系

二.食物链

给定若干满足如下三条的关系,求有多少条件不合法:

为同类。

,则有

每个人存在三种关系,将三种关系分为三个集合:

同类集(

)。

可吃集(

)。

被吃的集(

),后面简称为被吃集。

注意:拥有多种关系时,要进行关系传递。如

同类,

能吃的

也能吃。

对于两种情况:

如果

是同类,就将

加入

的同类集,将

能吃的加入

的可吃集,将吃

的加入

的被吃集,即操作:

add(x,y);//将y加入x的同类集(x)

add(x+n,y+n);//将y可吃的加入x的可吃集(x+n)

add(x+2*n,y+2*n);//将吃y的加入x的被吃集(x+2n)

如果

,就将

加入

的可吃集,将

加入

的被吃集,将

加入

的被吃集(根据关系

),即操作:

add(x+n,y);//将y加入x的可吃集(x+n)

add(y+2*n,x);//将x加入y的被吃集(y+2n)

add(x+2*n,y+n);//将y+n加入x的被吃集(x+2n)

http://www.jsqmd.com/news/120132/

相关文章:

  • 算法分析--基数排序
  • 【题解】P14826 踩踩标
  • 2025-12-21
  • 港媒盛赞“香港媳妇”徐冬冬!婚照惊艳全网,港圈作品圈粉无数
  • 2025 国内公关公司 TOP10 评测!策略创新+资源整合,十大品牌权威榜单发布,专业赋能品牌传播新生态 - 全局中转站
  • 基于librosa的MFCC的音色相似度检测程序
  • Flutter官方拒绝适配鸿蒙的真相:不是技术问题,而是...
  • 【Java-JMM】Happens-before原则
  • 请教软件和业务问题,引发的思考
  • Docker容器总结 - 十里
  • 基础模型向通用智能
  • 我天,Java 已沦为老四。。
  • 写在最前面
  • Java毕设选题推荐:基于springboot的汽车租赁买卖管理系统的设计与实现汽车知识科普,租赁管理,热门汽车推荐【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2004-基于多目标粒子群(MOPSO)算法的多阈值图像分割(Otsu 法 + 最小交叉熵)(中文核心、SCI 四区可选)
  • .net 8使用autofac以及.net core自带的注入
  • 完整教程:零基础入门C语言之C语言实现数据结构之单链表
  • Hive 3.x 建表指定分桶,但load data后失效的原因
  • GSoC 成果公布!印度开发者为 DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问
  • 【python大数据毕设实战】哮喘患者症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
  • 【01-02】
  • 【开题答辩全过程】以 基于微信小程序的糖尿病居家健康管理实用的系统为例,包含答辩的问题和答案
  • Qt 源码阅读随笔
  • 2025 我用 Sysinternals 打通 Windows 排障“证据链”:开机慢 / 安装失败 / 磁盘暴涨(三个真实案例复盘)
  • 基于java的SpringBoot/SSM+Vue+uniapp的宠物综合服务平台的详细设计和实现(源码+lw+部署文档+讲解等)
  • [20251219]测试sql语句子光标的执行性能2(21c).txt
  • 面向轻量级智能体的模型蒸馏方法研究-大规模预训练模型知识迁移机制分析
  • 非遗万象图前端开发
  • 不同场景 Linux 性能调优参数配置模板
  • Redis 零基础到进阶,Redis 哨兵监控,笔记63-73