浅谈传递闭包问题

浅谈传递闭包问题

本篇随笔简单讲解一下算法竞赛中的“传递闭包问题”。

传递闭包问题的概念

简单地来讲,传递闭包问题就是一类具有传递性的问题。

放一波标准定义:

在交际网络中,给定若干个元素和若干对二元关系,且这些关系具有传递性,通过这些传递性推导出尽量多的元素之间的关系的问题叫做传递闭包。

也就是说,在一个元素集里,对你说一堆:某两个元素之间有关系。然后问你这些元素中一共有多少个元素有关系。

传递闭包概念的重点就是,这个关系必须是二元的,也就是说,其他的多元关系也一定要可以分解为几个二元关系的累积。

传递闭包问题的转化和解决

可以将传递闭包问题转化为图论问题。

把元素变成一个点,有关系就连一条边。

最后用Floyd算法解决两点之间的联通关系。(任意两点)

即可。

我承认,这篇随笔只是简单介绍了下传递闭包的概念,转化和解决简直就是简单得不得了。

(好没有营养的随笔)

(我绝壁没有水博客)

原文地址:https://www.cnblogs.com/fusiwei/p/12235502.html