HDU:4109 Instrction Arrangement (DAG上的最长路/关键路径)
来源:互联网 发布:python 主函数 传参数 编辑:程序博客网 时间:2024/06/08 05:28
题意:给你一些指令,指令Y要在X发生后Z秒之后才能发生,问执行全部指令最少需要的时间。
思路:关键路径的长度。用动态规划求最早开始事件时间,由于需要从子问题开始求解,因此使用拓扑排序进行排序。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <map>#include <string>#include <stack>#define MAXN 1005using namespace std;int g[MAXN][MAXN];int et[MAXN];int topo[MAXN];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { memset(g,0,sizeof(g)); memset(et,0,sizeof(et)); memset(topo,0,sizeof(topo)); int in[MAXN]= {0},In[MAXN]= {0}; for(int i=0; i<m; ++i) { int u,v,w; scanf("%d%d%d",&u,&v,&w); if(!g[u][v]) { g[u][v]=w; in[v]++; In[v]=in[v]; } } stack<int> sk; for(int i=0; i<n; ++i) if(!in[i]) sk.push(i); int p=0; while(!sk.empty()) { int gettop=sk.top(); sk.pop(); topo[p++]=gettop; for(int i=0; i<n; ++i) { if(g[gettop][i]) { in[i]--; if(!in[i]) sk.push(i); } } } int mx=0; for(int i=0; i<n; ++i) { int pos=topo[i]; if(!In[pos])et[pos]=0; else { for(int i=0; i<n; ++i) if(g[i][pos]) et[pos]=max(et[i]+g[i][pos],et[pos]); mx=max(mx,et[pos]); } } printf("%d\n",mx+1); } return 0;}
- HDU:4109 Instrction Arrangement (DAG上的最长路/关键路径)
- hdu 4109 Instrction Arrangement【DAG图上的最长路】
- HDU 4109 Instrction Arrangement(DAG上的最长路径)记忆化搜索
- hdu 4109 Instrction Arrangement(关键路径)
- (关键路径)HDU 4109 Instrction Arrangement
- hdu 4109 Instrction Arrangement 拓扑排序 关键路径
- hdu 4109 Instrction Arrangement 拓扑排序 关键路径
- HDU 4109 Instrction Arrangement拓扑排序 关键路径模板
- hdu 4109 Instrction Arrangement (topo+关键路径) (附简单的测试数据)
- HDU 4109 Instrction Arrangement
- Hdu 4109 Instrction Arrangement
- HDU 4109 Instrction Arrangement
- HDU 4109 Instrction Arrangement
- HDU 4109 Instrction Arrangement
- HDU 4109 Instrction Arrangement (拓扑or差分约束求关键路径)
- HDU4109 Instrction Arrangement 拓扑排序 关键路径
- HDU4109——Instrction Arrangement(关键路径)
- HDU4109 Instrction Arrangement 拓扑排序求关键路径
- [MAC] How to resolve VOSM(ASM/AAM) circular dependency issue under Mac Xcode
- I/O多路复用之select()简要总结分析一(错误之处请指出)
- C# 视频监控系列(11):H264播放器——封装API[HikPlayM4.dll]
- 常见笔试题二
- C# 视频监控系列(12):H264播放器——播放录像文件
- HDU:4109 Instrction Arrangement (DAG上的最长路/关键路径)
- C# 视频监控系列(13):H264播放器——控制播放和截图
- 程序 'jps' 已包含在下列软件包中
- Spring AOP与Aspectj
- C# 视频监控系列(15):总结贴——可能用到的C# WinForm技术小结
- VC数据库编程 ADO示例
- ArchLinux Kernel driver not installed
- hdu2425Hiking Trip
- 流媒体二次开发 -- C++