题目要求要求在满足约束条件的情况下,使小的序号尽力靠前。
坑点就在这里,小的序号尽量靠前并不是代表字典序,它要求多种情况时,先使1靠前(可能1只能在第2或第3位 那么就要使它在第2位),其次2,3。。而不是在当前情况下,该位最小是哪个就输出哪个
所以直接拓扑排序,或者优先队列都是错的,因为这样都只能保证字典序最小。可以参考代码后面的样例理解
正确做法应该是 反向建图后,用最大值优先的优先队列...
分类:
其他好文 时间:
2014-07-22 00:28:38
阅读次数:
210
hdu1285 确定比赛名次(拓扑排序多种方法)...
分类:
其他好文 时间:
2014-07-21 16:13:12
阅读次数:
200
// 等了好久,BESTCODER 终于出来了、、像咋这样的毕业的人、、就是去凑凑热闹// 弱校搞acm真是难,不过还是怪自己不够努力// 第一题是明显的拓扑排序,加了了个字典序限制而已// 用优先队列就可以搞定了#include #include #include #include #includ...
分类:
其他好文 时间:
2014-07-21 00:14:33
阅读次数:
325
逃生
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 74 Accepted Submission(s): 13
Problem Description
糟糕的事情发生啦,现在大家都忙着逃命。但是逃命的通道很...
分类:
其他好文 时间:
2014-07-20 23:38:47
阅读次数:
478
逃生
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 0 Accepted Submission(s): 0
Problem Description
糟糕的事情发生啦,现在大家都忙着逃命。但是逃命...
分类:
其他好文 时间:
2014-07-20 23:00:30
阅读次数:
220
老板发工资,但是要保证发的工资数满足每个人的期望,比如A期望工资大于B,只需比B多1元钱即可。老板发的最低工资为888元。输出老板最少发的工资总数,若是无法满足大家的期望,则输出-1。...
分类:
其他好文 时间:
2014-07-20 10:35:08
阅读次数:
214
Labeling Balls
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 10178
Accepted: 2815
Description
Windy has N balls of distinct weights from 1 un...
分类:
其他好文 时间:
2014-07-19 02:26:55
阅读次数:
224
给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。
注意
如果因为可能的排名有多种情况,这时要保证编号小的在前。
题目输入的数据可能有重复边
拓扑排序
首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。
然后进行循环:
取出队头结点,视作边的起点。
然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一;
如果减一以后,终点的入度变为了0,那么将终点的编号入队列。
判断队列是否为空,若不空,则回到1...
分类:
其他好文 时间:
2014-07-19 02:25:55
阅读次数:
175
Genealogical tree
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 2738
Accepted: 1838
Special Judge
Description
The system of Martians' blood...
分类:
其他好文 时间:
2014-07-18 14:01:29
阅读次数:
189
Triangle LOVE
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2271 Accepted Submission(s): 946
Problem Description
Recen...
分类:
其他好文 时间:
2014-07-18 12:18:56
阅读次数:
202