![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图------拓扑排序
蒋卫升
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #656 (Div. 3) E(拓扑排序)
题意 给你一个图,图中有无向边和有向边,要你把无向边变成有向边,问有没有一种变法,是的图没有环,如果有输出yes,并且输出这个变化方案,如果没有输出no。 题解 其实打比赛的时候就有点想法,但是没有时间了。就直接topsort,排序的时候,如果碰到无向边,就给他加一个方向就可以了,具体看代码吧。 #include <bits/stdc++.h> #define ll long long #define pi pair<int,int> #define mk make_pair #de原创 2020-07-19 19:53:25 · 106 阅读 · 0 评论 -
POJ Sorting It All Out (拓扑排序)
link 题意: 给你n个变量,m种大小关系,依次加入这些关系。 如果在给出第i个关系后能确定这些关系自相矛盾(环)输出i。 如果在给出第i个关系后能得出这n个数的大小关系,输出i,并且输出这n个数的大小关系。 如果m个关系全部给出还不能判断,输出不能判断。 题解: 首先建图:如果a<b,就从a连接一条边到b。这样就得到一个DAG。 如果DAG拓扑有序,说明不存在环。如果DA...原创 2020-03-21 17:10:45 · 170 阅读 · 0 评论 -
cf #4 D Mysterious Present (sort + LIS)
Description:Description:Description: 嵌套矩阵问题。给你若干矩阵,取出ans个,要求这ans个矩阵都严格大于给定矩阵,且这ans个矩阵可以嵌套。问,ans最大时多少,并且输出取出的矩阵的下标。 Solution:Solution:Solution: 这是DAG最长路的问题,如果矩阵可以嵌套,就连一条有向边,问题就转化成求DAG最长路,且输出路径信息。但是这题可以...原创 2020-03-08 16:00:06 · 132 阅读 · 0 评论 -
ZOJ Paint the Grid Again ( 拓扑排序)
题目 题意:一个n*n的方格,有两种操作,Ri把第i行变成X(黑色);Ri把第j列变成O(白色)。给一个n*n的涂好色的方格,问怎样涂色变成这样,输出涂色方案(字典序最小的)。 思路: (转) 正过来想不好想,可以反过来想,如果一行全为X,那么这一行肯定是最后涂的,那么就把这一行X全部擦掉,如果这一步造成某一列只剩下O,那么剩下的涂色方案中,这一列是最后涂的颜色,这么一想,有点像拓扑排序...原创 2020-02-24 21:08:23 · 148 阅读 · 0 评论 -
cf D. Substring (拓扑排序)
题目 题意:有向图,如果图有环输出-1,否则输出最优解,最优解是路径最长值,而路径最长值的定义是,这条路径上出现频数最多的字母个数。 思路:拓扑排序加dp,时间复杂度是26*n。唯一需要注意的点是,在转移过程中需要判断是否由当前父节点转移,是才加一,否则,不加一。如果不这样,就会造成重复加。 #include<bits/stdc++.h> using n...原创 2020-01-28 12:10:44 · 158 阅读 · 0 评论 -
D. Coloring Edges (拓扑排序)
题目链接 题意及思路:链接 下面贴上我觉得好理解的代码,不同的地方是,一个环上必然有权值小的节点指向权值大的节点,权值大的节点指向权值小的节点,那么我输出的时候,如果指向的权值大就输出1,小就输出2。 #include <bits/stdc++.h> #define mk make_pair #define pi pair<int,int> #defi...原创 2020-01-19 21:07:53 · 232 阅读 · 0 评论