Algorithm 关键路径算法 PAT How Long Does It Take (25)

7-5 关键活动 (30分)PTA【关键路径 + 拓扑排序】 7-5 关键活动 (30分) 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,比如C程序设计和数据结构两门课,必须先学习前者。 但是需要注意的是,对一组子任务, 阅读详情
#include<iostream>
#include<stack>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std ;
#define MAXN 100 

int map[MAXN][MAXN] ;
int in_cout[MAXN] ;
int	e_time[MAXN] ;
int arry[MAXN] ;
int n , e , n_s = 1 ,sum ;

int max(int x , int y){

	return x > y ? x : y ;
}

void get_et(){

	int i ,j;
	stack<int> s ;
	for(i = 0 ; i < n ;i++){
	
		if(!in_cout[i])
			s.push(i) ;//得到起始点

	}
	int sep = 0 ;
	while(!s.empty()){
	
		int flag = s.top() ; s.pop() ;
		arry[sep++] = flag ;

		for(i = 0 ; i < n ; i++){
		
			if(map[flag][i]){//将与flag相连的点,入度减去,并判断是否符合条件进入S。
			
				in_cout[i]--;
				if(!in_cout[i])	 s.push(i) ;
			}
		}	
	}
	e_time[0] = 0 ;
	if(sep < n-1){
		n_s = 0 ;
		return ;
	}
	int juci = 0 ;
	for(i = 1 ; i < n ; i++){
	
		int t = arry[i] ;
		for( j = 0 ; j < n ; j++ ){
		
			if(map[j][t]){
				
				e_time[t] = max(e_time[j]+map[j][t] , e_time[t]) ;
				
			}
			juci = max(juci , e_time[t]) ;//记录整个路线上最大的值
		}
		sum = juci ;		
	}

}

int main(){

	int i , j ,v ,u , w ;
	memset(map , 0 ,sizeof(map)) ;
	memset(in_cout , 0 ,sizeof(in_cout)) ;
	scanf("%d%d" ,&n,&e) ;
	for(i = 0 ; i < e ; i++){
	
		scanf("%d%d%d" ,&v,&u,&w) ;
		if(w){		
			map[v][u] = w ;
			in_cout[u]++ ;
		}
	}

	get_et() ;
	if(n_s)
		printf("%d\n" ,sum) ;
	else
		printf("Impossible\n") ;

	return 0 ;
}


 

PTA 关键活动 思路分析及代码解析 在实践中进一步理解拓扑排序,AOE,关键活动 阅读详情

相关推荐

PTA 7-11 关键活动 (30 分) 拓扑排序+AOE网络+关键路径

假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系...

巴拉拉小魔芋 2746

数据结构与算法--pta复习

拓扑序一定是唯一的 F如果从有向图 G 的每一点均能通过深度优先搜索遍历到所有其它顶点,那么该图一定不存在拓扑序列 TAOE图的权值最大的边(活动)一定是关键活动 F在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。T关键路径是AOE网中从源点到汇点的最短路径 F最长路径在AOE网络中,从源点到汇点具有最大长度的路径称为关键路径。完成AOE所表示的整个工程所需要的时间取决于关键路径的路径长度 TA.ABCDFEGB.ADFCEBGC.ACDFBEGB.3C.4D.5。

m0_54453375的博客 2456

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 12 公有云里的“多Region + 多AZ“ 02 运营算法01

算法逐步思考推理思考(含数学方程式、对象、资源、任务、进程/协程/线程及对应的代数、约束、目标函数/传递函数/依赖函数、参数及参数的数值范围及边界条件、逐步推理的数学方程式列表、上下文切换、并发/串行/随机/乱序/顺序)算法逐步思考推理思考(含数学方程式、对象、资源、任务、进程/协程/线程及对应的代数、约束、目标函数/传递函数/依赖函数、参数及参数的数值范围及边界条件、逐步推理的数学方程式列表、上下文切换、并发/串行/随机/乱序/顺序)云厂商提高闲置资源利用率。算法复杂度为O(N),N为实例数量。

weixin_49199313的博客 281

【关键路径】PTA

AOE网中,节点代表事件,边代表活动,最早开始时间和最晚开始时间相等的是关键活动 u->v u是活动开始事件,v是活动结束事件,w为活动耗时 活动的最早开始时间为事件u的最早开始时间, 最晚开始时间是事件v的最晚开始时间-w 不知道为什么最大随机没过 #include<iostream> #include<vector> #include<stack...

iroy33的博客 859

【信息科学与工程学】【制造工程】计算机科学与自动化——服务器制造中的学科知识01

由可数可加性:μ(A)=∑k=1∞​μ(Bk​)=limn→∞​∑k=1n​μ(Bk​)=limn→∞​μ(⋃k=1n​Bk​)=limn→∞​μ(An​)。:若limsupAn​=liminfAn​=A,则A中的元素恰是那些“最终总是属于An​”的元素,也是那些“属于无穷多个An​但不属于无穷多个Anc​”的元素。:通过构造一个不相交的序列{Bn​},其中B1​=A1​, Bn​=An​∖(⋃k=1n−1​Ak​)。则⋃n​Bn​=⋃n​An​,且Bn​⊂An​。我们称A为一个“集类”或“集合族”。

weixin_49199313的博客 561

【信息科学与工程学】计算机科学与自动化——第一百五十五篇 缓存系统设计02

编号176-190共15个条目,覆盖了缓存互连网络(环形/交叉开关)、硅光互连、散热设计、3D封装TSV、信号完整性、冗余设计、老化补偿、电磁兼容、时钟分布、JTAG测试、安全硬件、调试探针、容错路由、体偏置、共振时钟。:编号161-175共15个条目,聚焦于缓存硬件设计与配置,涵盖了MESI协议、多级TLB、分支预测BTB/BHT、自适应预取引擎、ECC纠错汉明码、路分区硬件、非暂时性存储旁路、缓存冲刷指令、缓存锁定、压缩硬件、嗅探过滤器、虚拟化EPT、QoS限速、内置自测BIST、电源管理DVFS。

weixin_49199313的博客 174

笔记:activity-node graph 和 event-node graph 和 earliest/latest completion time 和 slack time

如果对于“最早完成时间/earliest completion time”有疑问的网友,可以看看我这篇博客喔

weixin_44410806的博客 408

06-图7. How Long Does It Take (25).zip

http://blog.youkuaiyun.com/xkzju2010/article/details/46559785

【PTA】【数据结构与算法】关键路径

选择题 1.AOE图的关键路径就是最长的路径 T F 2.AOE图的权值最大的边(活动)一定是关键活动。 T F 3.在AOE-网工程中,减少任一关键活动上的权值后,整个工期也就会相应的减小。 T F 4.AOE-网工程工期为关键活动上的权之和。 T F 5.在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。 T F ...

葑鈊丶 1万+

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5345

[PTA] 7-11 关键活动 最短答案!

题目详情 题目分析: 这一题要注意两点 松节点,与该节点相连的所有路径都不是关键路径。规则如下: 1.如果该结点发出的所有边,距离下个结点的开始时间都有富余,那么该节点是松节点 2.若一个节点发出的所有边都连到了松节点上,那么该点也是松节点 3.如果存在多个终点 该节点为终点,且结束时间比最晚的终点要早,那么该终点为松节点 求逆拓扑序列只需将拓扑序列倒排一下即可 输入样例 11 14 1 2 4 1 3 3 2 4 5 3 4 3 4 5 1 4 6 6 5 7 5 6 7 2 8 3 7 9

yym68686 1208

linux CentOS7安装VCS、Verdi、SCL

1.Linux下所需安装文件 链接:https://pan.baidu.com/s/1E_l4ARFYEnp57jlX95Bpog 提取码:ggdz ​ synopsysinstaller_v5.0 ​ scl_v2018.06 ​ vcs_mx_vO-2018.09-SP2 ​ vcs_vO-2018.09-SP2 ​ verdi-2018.9 2.Windows破解文件 ​ scl_keygen_2030 3.安装installer 打开终端,进入synopsysinstaller_

loveyelong的博客 4618

【PAT甲级复习】 专题复习三:关键路径

文章目录专题复习三(9.4):关键路径1 求整个DAG中的最长路径2 求整个图中终点为T的最长路径3 一个用关键路径解决的经典例子 专题复习三(9.4):关键路径 所谓的关键路径其实就是DAG(有向无环图)的最长路径,使用动态规划解决比较简洁易懂。 1 求整个DAG中的最长路径 也即不固定起点和终点,这里使用动态规划解决,用dp[i]表示从节点i出发能得到的最长路径,则递推式为dp[i] = max(dp[i], DP(j) + length(i->j)),边界条件为出度为0的节点的dp[i]一定为0

Harryline的博客 493

java链接opc报异常org.jinterop.dcom.common.JIException: Access is denied解决

记录一下这次从发现问题到解决问题的过程 项目是通过java链接OPC,读取数据,并且发送数据的 程序一直运行正常,最近客户反馈说无法读取数据,通过查看,发现访问异常了。花了2天的时间才解决了这个异常。 org.jinterop.dcom.common.JIException: Access is denied, please check whether the [domain-username-password] are correct. Also, if not already done please c

机器学习菜鸟 1万+

【LabVIEW懒人系列教程-视觉入门】2.6LabVIEW模板匹配之创建模板

上期2.5在Labview软件框架中实现了模板匹配功能的运用,然而我们的模板图像是通过视觉助手创建出来的,在实际项目中这样做 ,难免有些不妥。所以,今天就给大家讲解一下,如何编写创建模板功能,模板图像的创建与加载需要注意一些什么。 模板图片的创建,大家可以理解为将图像中的一个特征区域扣下来,通过Labview函数进行信息学习,然后保存成带有图像信息的模板图。 具体做法,下面为大家演示一下 百度网盘视频链接:https://pan.baidu.com/s/1-zxcJBxPgk4t1Ej..

视觉龙哥 2167

数据结构PTA习题:08-图9 关键活动 (30分)——关键路径

08-图9 关键活动 (30分) 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,比如C程序设计和数据结构两门课,必须先学习前者。 但是需要注意的是,对一组子任

wulila的博客 2662

手把手教你用STM32F103的普通IO口读取SSI编码器(附完整代码与示波器调试心得)

本文详细介绍了如何利用STM32F103的普通IO口读取SSI绝对式编码器数据,提供完整的硬件连接方案、精确时序控制的软件实现及示波器调试技巧。通过低成本方案实现高精度位置反馈,适用于工业自动化和机器人控制领域。

weixin_29172963的博客 452

6-4 关键路径

6-4 关键路径 (15 分) 试实现关键路径算法。函数int CriticalPath(ALGraph G)输出关键路径。 函数接口定义: int CriticalPath(ALGraph G); 其中 G 是基于邻接表及逆邻接表存储表示的有向图。 裁判测试程序样例: #include <iostream> using namespace std; #define MVNum 100 #define BDNum MVNum * (MVNum - 1) #define OK 1

国家一级致癌物 2774

MAPPO实战:从理论到代码的协作智能体训练指南

本文详细介绍了MAPPO算法在多智能体协作训练中的实战应用,从理论基础到代码实现全面解析。通过对比PPO与MAPPO的差异,深入讲解CTDE框架、网络架构设计、参数调优等关键环节,并提供实际项目中的调参经验和常见问题解决方案,帮助开发者快速掌握这一强化学习前沿技术。

weixin_42561040的博客 265

数据挖掘实战-基于情感分析+网络语义分析对泾阳茯茶用户评论进行文本分析

本实验数据集来源于京东商城,使用Python爬虫获取泾阳茯茶商品的用户评论,共计3416条数据,字段有用户ID、用户昵称、IP属地、评论时间、评分、评论内容,共计6个字段信息。'''作者:艾派森csdn主页:https://blog.youkuaiyun.com/m0_64336780时间:2024/5/28'''# 导包import csv# 获取评论q=0.01',q=0.9,en;b_avif=1;b_dw=1412;b_dh=650;areaId=27;

m0_64336780的博客 1万+

PAT 关键活动 拓扑排序-关键路径

链接: 关键活动 思路: 1、首先通过队列加邻接表完成拓扑排序: 所有入度为0的节点a入队 在邻接表中找到a的所有后继节点 后继节点入度-1 如果后继节点入度为0 则后继节点入队 2、当图中出现环时则任务调度不可行: 只要判断是否入队n次即可 3、在拓扑排序的过程中用path数组保存所有(关键活动)的前驱节点 最后通过队列和path数组

旧时光 2152

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PAT备考之 关键路径 专题

虽然到目前为止,关键路径没有考过,但是近年之前没考过的拓扑排序和Floyd算法都有考,故稍微了解准备一下关键路径。 在关键路径之前,有个最长路径的求法,在没有正环的图中,边权全部取相反数,使用Bellman-Ford算法即可。 而对于关键路径问题(有向无环图),除了动态规划的解法,比较常规的是使用拓扑排序。 具体过程:在拓扑排序的基础之上,进行一次正向拓扑和一次逆向拓扑,用ve[]数组和vl[]数组来更新每个事件最早和最晚的时间。 我还是按照自己习惯使用结构体数组和邻接矩阵记录点与点,还有边的情况。

maxleo928的博客 371

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数据结构PTA习题:基础实验6-2.6 最短工期 (25分)——拓扑排序、关键路径

基础实验6-2.6 最短工期 (25分) Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project. 一个项目由若干个任务组成,任务之间有先后依赖顺序。项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务。现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工时间。 Input

wulila的博客 2617

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MOOC 数据结构 08-图8 How Long Does It Take——C语言

DAG,拓扑排序

鸿雁丨红豆灬自学计算机学习记录 754

08-图9 关键活动 (30分)

我的思路,正向以最短完成时间和入度为参数做一遍拓扑排序;逆向以最长完成时间和出度为参数完成一边拓扑排序。出现了几个问题:判定说多起点多种点判定有误,同时也有段错误;自己验证的时候,在完成第一遍拓扑排序之后,发现以邻接表存储的图,其表头的最后一个丢失了(比如有1~12个表头,做完一次拓扑排序之后,第12个就读不出来了…),一直未解决。 #include #include typede

Roland_WuZF的博客 2328
上一篇: Algorithm 建二插树的时候结点链接的问题
下一篇: Algorithm DFS的初认识
CallMeJiaGu
博客等级 码龄12年 149粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值