题目链接 思路: 如果n=3。 3->1,2(孤立) ,那么正向拓扑,应该是2 3 1,因为1要比2先出来,所以这种不满足。 逆向: 1->3,2 。此时若优先级从大到小,则2 1 3,逆向输入就是3 1 2 。 ...
分类:
编程语言 时间:
2019-01-27 16:38:26
阅读次数:
232
AOE-网,顶点表示事件,弧表示活动,权表示活动持续的时间。 路径长度最长的路径称为关键路径 步骤:先求最早发生时间然后求最晚发生时间,二者相等的活动为关键路径上的活动 求最早发生时间是用拓扑排序,ve要选较大的,例如图中选到ve(4)时,应该选红线还是黄线呢?ve(1)+1=4 ve(2)+3=7 ...
分类:
其他好文 时间:
2019-01-06 10:41:33
阅读次数:
134
题意:每一个人的基础工资是888。 因为一部分人要显示自己水平比較高,要求发的工资要比其它人中的一个人多。问你能不能满足他们的要求,假设能的话终于一共要发多少钱,假设不能就输出-1. 策略:拓扑排序。 这道题有些难点:一:数据大,建二维数组肯定不行,要换其它的数据结构(vector, 或者是链式前向 ...
分类:
编程语言 时间:
2017-06-13 21:52:16
阅读次数:
265
逆拓扑排序,开始死活a不掉,后来才发现自己记录工资的方法是有问题的.....失策失策啊
#include
#include
#include
#include
#define maxn 10000+100
using namespace std;
vector >mapp;
int head[maxn];
int money[maxn];
int n,m;
void topo()
{
int...
分类:
其他好文 时间:
2015-04-15 09:43:42
阅读次数:
136
逃生
思路:刚开始以为直接拓扑排序就可以,其实不然。题目的意思是:如果有满足拓扑排序
的多种情况的前提下,让1先尽量靠前,满足1尽量靠前之后,让2尽量靠前,而不是直接
的字典序。
比如:
4 2
3 2
4 1
结果应为4 1 3 2,而不是3 2 4 1。
所以进行反向建边,然后拓扑排序,用链式前向星存储图,为了使得序号小
的点尽量靠前,所以用优先队列存储将入度为0的点,在逐一取出,遍历该点
的边,就使得大的点尽量靠前,最后逆序输出就可以了。
Time Limit: 2000/1000 MS (J...
分类:
编程语言 时间:
2014-12-22 16:21:37
阅读次数:
192
题意:每个人的基础工资是888, 由于一部分人要显示自己水平比较高,要求发的工资要比其他人中的一个人多,问你能不能满足他们的要求,如果能的话最终一共要发多少钱,如果不能就输出-1.
策略:拓扑排序。
这道题有些难点:一:数据大,建二维数组肯定不行,要换其他的数据结构(vector, 或者是链式前向星(本题代码用的是链式前向星)); 二:要逆拓扑排序(就是将++in[b]换成++in[a]),...
分类:
其他好文 时间:
2014-08-10 18:39:00
阅读次数:
250
拓扑排序的变形,逆序建图就好了
Reward
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3951 Accepted Submission(s): 1203
Problem Description...
分类:
其他好文 时间:
2014-08-01 19:59:02
阅读次数:
323