随笔分类 - A-图论-拓扑排序
摘要:题意简述 你有一个长度为的排列。将和两个位置的数字交换的条件是:并且 你可以进行无数次交换操作,输出操作后能够得到的最小的字典序的排列。 分析 首先,第一步的转化就很不容易想到。 就是我们可以把数和下标进行调换。 定义反
阅读全文
摘要:定义 对一个有向无环图(Directed Acyclic Graph简称DAG)进行拓扑排序,是将中所有顶点排成一个线性序列,使得图中任意一对顶点和,若边,则在线性序列中出现在之前。 实现步骤 在有向图中选一个没有前驱的顶点并且输出 删除所
阅读全文
摘要:题意居然还读了好久... 读完题目之后大概就知道拓扑排序了。用拓扑可以求出一些字母之间的关系,谁先,谁后。但是这个关系不是唯一确定的,所以就会产生多种方案(题目还要求按字典序输出所有的方案) 输出方案要麻烦一些,最刚开始还没有想到。可以用一个,当这个点的入度变为之后,就输出,递归到下
阅读全文