算法分析:
本题是拓扑排序的典型应用。
由于顶点数量不多,可以采用邻接矩阵来存储图信息,这样算法比较简单,只需要搜索n次,每次把序号最小的入度为0的顶点存储到拓扑序列中就行了。算法思路比较清晰,代码也比较简洁,但时间复杂度和空间复杂度都较高。
另一种方法是采用邻接表存储图信息。由于题目要求输出时编号小的队伍在前,所以在入栈时一定要保证先让序号最小的入度为0的顶点在栈顶,这样根据后进先出的特点,可以把序号最小的顶点存储到拓扑序列中。我采用折半插入排序的方法,把入度为0的顶点按递减序排序,然后对图进行深度优先...
分类:
其他好文 时间:
2014-11-19 16:05:59
阅读次数:
174
Maximal RectangleGiven a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.Show TagsHave yo...
分类:
其他好文 时间:
2014-11-19 08:35:19
阅读次数:
207
题目链接:http://codeforces.com/problemset/problem/489/B题目意思:给出 n 个 boys 的 skills 和 m 个 girls 的 skills,要求成 pair 的条件为,男和女的 skill 差值最多只能为 1。问成 pair 最多是多少。 这....
分类:
其他好文 时间:
2014-11-19 07:05:13
阅读次数:
179
Min Stack My SubmissionsQuestionSolutionDesign a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Pu...
分类:
其他好文 时间:
2014-11-19 00:15:08
阅读次数:
271
Longest Common Prefix Total Accepted: 24665 Total Submissions: 92370My SubmissionsQuestionSolutionWrite a function to find the longest common prefix s...
分类:
其他好文 时间:
2014-11-18 23:35:50
阅读次数:
182
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1558解题报告:首先如果两条线段有交点的话,这两条线段在一个集合内,如果a跟b在一个集合内,b跟c在一个集合内,那么a跟c在一个集合内。在一个平面上,有两种操作:P:在这个平面上添加一条线段Q k:询问添...
分类:
其他好文 时间:
2014-11-18 23:06:47
阅读次数:
218
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5105题目意思:给出一个6个实数:a, b, c, d, l, r。通过在[l, r]中取数 x,使得这个函数f(x)=|a?x3+b?x2+c?x+d|最大。 我一开始做的时候,很天真的认为数据量这么....
分类:
其他好文 时间:
2014-11-17 17:19:35
阅读次数:
232
【题目】
Given a string s, partition s such that every substring of the partition is a palindrome.
Return the minimum cuts needed for a palindrome partitioning of s.
For example, given s = "aab...
分类:
其他好文 时间:
2014-11-16 17:23:33
阅读次数:
158
【题目】
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab",
Return
[
...
分类:
其他好文 时间:
2014-11-16 17:22:42
阅读次数:
176