有n个变量,m个二元组(u, v), 分别表示u小于v。要求给出一种所有变量从小到大排列的可能。
链接
题解
建图,以变量为顶点,“小于”关系为有向边。问题变为求这个图的拓扑排序。借助DFS来完成排序。
1 | 在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序: |
代码
1 | /* |
拓展
拓扑等价:
有多个解释,其中一个几何上的解释是,一个曲面经过扭转、弯曲、拉长或收缩得到另一个曲面,期间没有出现任何点的重叠与断开,那么可以说这两个曲面是拓扑等价的。
1 | //知乎上看到的一个笑话 |