POJ 拓扑排序题目总结
POJ 拓扑排序题目总结
1270 Following Orders
给出一个字母表和一些字母对(char1,char2)表示char1一定要在char2前面。求出所有满足要求的排列,并按照字典序输出。
这题一定要注意,字母表不一定是有序的,其实也就是注意要按照字典序输出即可。
2585 Following Orders
有一个4*4的矩形,然后有9个2*2的矩形,固定位置,固定编号,给出一个4*4矩形的状态图,问这种覆盖是否合法。根据小矩形上出现的数字判定矩形的先后性,然后判定是否存在拓扑序列。
1128 Frame Stacking(the same as USACO Trainning frameup)
类似上题,只不过数字换成了字母,而且位置大小都不固定,但是每个矩形的四条边一定都有点出现,输出所有可行的顺序。DFS输出方案即可。
2367 Genealogical tree
输出一种拓扑排序方案。图的读入方式很常见,没有其他的东西。注意只输出任意一组即可。
3660 Cow Contest
看起来和拓扑排序很像。给出一些点之间的限制条件,问有多少点的次序是固定的。最简单的方法是floyd然后判定入度+出度是否为n-1,是则计数器加1。也可以两个方向dfs一遍看能到多少点。
总之拓扑排序如果单独考察的话很简单,而且只有两类问题,判定是否可行和求出所有方案(一般会要求字典序etc)。估计比赛时出现的话多为跟其他方面综合出题,比如字符串处理,比如复杂图论等等。