1 #include "iostream" 2 #include "vector" 3 #include "memory.h" 4 #include "cstdio" 5 using namespace std; 6 #define swap(a,b,t) ( (t) = (x),(x) = (y....
分类:
编程语言 时间:
2015-01-22 00:06:45
阅读次数:
174
思路:因为要满足字典序的拓扑排序,所以用了STL中的优先队列。
priority_queue<int,vector, greater > Q;
实现了权值小的优先级高,取出的时候保证序号是队列中最小的。
其他的和一般的拓扑排序无区别。...
分类:
编程语言 时间:
2014-12-22 22:50:05
阅读次数:
243
确定比赛名次
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11937 Accepted Submission(s): 4753
Problem Description
有N个比赛队(1...
分类:
其他好文 时间:
2014-08-02 10:07:33
阅读次数:
182
hdu1285 确定比赛名次(拓扑排序多种方法)...
分类:
其他好文 时间:
2014-07-21 16:13:12
阅读次数:
200
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。
注意
如果因为可能的排名有多种情况,这时要保证编号小的在前。
题目输入的数据可能有重复边
拓扑排序
首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。
然后进行循环:
取出队头结点,视作边的起点。
然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一;
如果减一以后,终点的入度变为了0,那么将终点的编号入队列。
判断队列是否为空,若不空,则回到1...
分类:
其他好文 时间:
2014-07-19 02:25:55
阅读次数:
175
确定比赛名次
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10604 Accepted Submission(s): 4150
Problem Description
有N个比赛队(1
I...
分类:
其他好文 时间:
2014-06-08 04:43:40
阅读次数:
285