![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
topsort
wtcl
这个作者很懒,什么都没留下…
展开
-
Misha and Forest(拓扑排序)
题意:给出一棵树每个节点的相邻节点个数a和相邻节点异或和b。求数的边数和每条边的两个节点。思路:应用拓扑排序的思路,由于是棵树所以一定有只和一个点相邻的点,这样的点a[i]是1,b[i]是和这个点相邻的点。在改变点b[i]的a[b[i]]和b[b[i]]代码:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>us原创 2020-06-28 14:12:21 · 134 阅读 · 0 评论 -
Almost Acyclic Graph(拓扑排序)
题意:给定一个有向图,问最多删除图中一条边,图中能否不含有环。思路:1.枚举删除每条边会超时,我们枚举每个点将其入度减一,看图中是否存在环。这样相当于删除的该点在拓扑排序时的最后一条边。2.拓扑排序会改变入度数组,多次调用拓扑排序函数是一定要注意入度数组的恢复。代码:#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue&g原创 2020-06-27 23:06:31 · 237 阅读 · 0 评论 -
Frame Stacking(拓扑排序+dfs)
思路:1.因为每个字母的四个边至少有一个点,所以就可以确定每个字母的边界2.看每个字母(i)的四个边上如果有其他的字母(j),说明j在i上,可以从i到j建立一条边(反过来见图也是一个正确的拓扑序,但由于有多个答案时要按照字母顺序输出,而且是从下往上输出,所以答案的顺序会有问题)3.由于多个答案是要全部输出,所以用dfs代码:#include<cstdio>#include<cstring>#include<iostream>#include<algo原创 2020-06-27 15:14:40 · 202 阅读 · 0 评论 -
Sorting It All Out(拓扑排序)
1.当存在多个入度为0的点时,一定没有确定的顺序,但也有可能出现矛盾。2.加入到队列中的点小于n是,一定存在矛盾。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<functional>using namespace std;int in[100],out[100];int n,m;原创 2020-06-25 11:49:39 · 234 阅读 · 0 评论 -
可达性统计
bitset topsort#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<bitset>#include<queue>using namespace std;int deg[30010];int...原创 2019-11-21 12:47:34 · 131 阅读 · 0 评论 -
道路与航线
1.dij与topsort2.有多个队列时注意变量#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<algorithm>using namespace std;int head[50010],ne[200010],ver[2...原创 2019-11-14 12:08:08 · 153 阅读 · 0 评论