拓扑
Joyyiwei
这个作者很懒,什么都没留下…
展开
-
uva 196
题意:我们把每一个坐标视为一个点,那这个问题就转化为拓扑排序问题了#include #include #include #include using namespace std;const int MAXN = 1001*1001;int in[MAXN],c,r,sheet[MAXN];int G[MAXN][100]; //记录 i 的 先行条件 j bool dfs(原创 2013-08-09 12:41:38 · 941 阅读 · 0 评论 -
uva 10054
题意:问你这些数字是否能串成一串。。无向图的欧拉回路,但其实,你会发现它比欧拉还要简单的是,如果可能串成一串的话,那就是每个边只出现一次,所以我们每次捡一条边放进栈里就可以了。。#include #include #include #include using namespace std;int n,map[60][60];struct edge{ int x,y;};sta原创 2013-08-09 09:12:01 · 853 阅读 · 0 评论 -
uva 10305
题意:告诉你做一件事情,必须先做哪件事情,最后让你给出个顺序#include #include #include using namespace std;int G[110][110],n,m,a,b;int vis[110],c[110],topo[110],t;bool dfs(int u){ vis[u] = -1 ; //正在被访问 for (int v=1原创 2013-08-09 11:09:11 · 766 阅读 · 0 评论 -
POJ - 1094 Sorting It All Out
题意:拓扑排序,分三种情况#include #include #include #include using namespace std;const int MAXN = 40;int G[MAXN][MAXN];int in[MAXN];char str[MAXN];int n,m;int topsort(){ int flag = 1; memset原创 2013-11-12 21:55:39 · 944 阅读 · 0 评论 -
HDU - 1285 确定比赛名次
题意:拓扑排序,不知到为什么用小白上可以判断回路的写会出错#include #include #include #include using namespace std;const int MAXN = 600;int G[MAXN][MAXN],in[MAXN],ans[MAXN];int n,m;void topsort(){ for (int i = 1;原创 2013-11-12 20:25:32 · 933 阅读 · 0 评论 -
UVALive - 4255 Guess
题意:对于一个序列,我们可以计算出一个符号矩阵,其中Sij为ai+...+aj的正负号,现在给你一个矩阵的上三角,求一个满足的序列思路:如果Sij>0的话,那么代表前缀和差Bj-Bi-1 >0 ,那么Bj > Bi-1,由此我们可以得到一系列的关系,利用toposort排序后,得到一个递增或者递减的序列,就可以求出来各个数了#include #include #include #原创 2014-02-28 20:30:32 · 1206 阅读 · 0 评论 -
POJ - 3249 Test for Job (DAG+topsort)
DescriptionMr.Dog was fired by his company. In order to support his family, he must find a new job as soon as possible. Nowadays, It's hard to have a job, since there are swelling numbers of the原创 2014-07-27 18:46:49 · 1018 阅读 · 0 评论