uva La 4255 Guess (拓扑排列)
拓扑排列适用于DAG有向无环图。
构造所有节点之间的单向边。
具体问题中,抽象出点和边(单向边),单向边对应于具体的点之间的大小关系或需求关。
构造出图后,问题中的所有的关系都可以用点之间的有向边表示。
此题中。
(1)将每个数字构造成点时,不易表示。
将前缀和构造成点,而所有的区间和都可以有两个前缀的差得到。则由所有区间和正负或为0,可以得到不同前缀之间的大小关系,即个点之间的单向边。
(2)注意到可能为零,表示2个前缀值相等,即图中可能有两点成环。
处理方法:
dis[i][j] = 0,表示相等,1表示i-->j,-1表示j--i.
每次得到一个点时,将所有的dis[][] = 0,的点取出赋相同的值。
//#pragma warning (disable: 4786)
//#pragma comment (linker, "/STACK:16777216")
//HEAD
#include
#include
#include
#include
#include
#include
#include
#include
#include