AOE关键路径
来源:互联网 发布:京东商城seo解决方案 编辑:程序博客网 时间:2024/05/22 04:53
时间发生的先后顺序存在一定时间上的限制,时间A必须在其前驱活动发生完之后才能发生;
边:表示活动的持续时间,两个事件之间必须先进行相应的活动时间;
点:表示事件
四个关键属性
Ve[i]:表示事件i发生的最早时间;
Vl[i]:表示事件i最晚发生的时间
e[i]:表示活动i最早发生的时间;
l[i]:表示活动i最晚发生的时间;
计算过程:
令l[i] = e[i]表示只要活动可以进行就立即进行;
#include <iostream>#include <cstring>#include <queue>using namespace std;const int maxn = 1e4 + 10;const int maxm = 1e6 + 10;const int INF = 0x3f3f3f3f;int head1[maxn], pnt1[maxm], nxt1[maxm], cost1[maxm], ecnt1;int head2[maxn], pnt2[maxm], nxt2[maxm], cost2[maxm], ecnt2;inline void addedge(int u, int v, int c) { pnt1[ecnt1] = v, cost1[ecnt1] = c, nxt1[ecnt1] = head1[u], head1[u] = ecnt1++; pnt2[ecnt2] = u, cost2[ecnt2] = c, nxt2[ecnt2] = head2[v], head2[v] = ecnt2++;}int dis1[maxn];//dis1[i]表示事件i最早可以发生的时间int dis2[maxn];//dis2[i]表示事件i最晚可以发生的时间bool mark[maxn];void HeadToTail(int st, int ed) { queue<int> que; memset(mark, false, sizeof mark); memset(dis1, -1, sizeof dis1); que.push(st); dis1[st] = 0; while(!que.empty()) { int u = que.front(); que.pop(); mark[u] = false; for (int i = head1[u];~i;i = nxt1[i]) { int v = pnt1[i], c = cost1[i]; //求最长路径 if (dis1[u] + cost1[i] > dis1[v]) { dis1[v] = dis1[u] + cost1[i]; if (!mark[v]) { mark[v] = true; que.push(v); } } } }}void TailToHead(int st, int ed) { queue<int> que; memset(mark, false, sizeof mark); memset(dis2, INF, sizeof dis2); dis2[ed] = dis1[ed];//继承ed最早开始的时间 mark[ed] = true; que.push(ed); while(!que.empty()) { int u = que.front(); que.pop(); mark[u] = false; for (int i = head2[u];~i;i = nxt2[i]) { int v = pnt2[i], c = cost2[i]; if (dis2[v] > dis2[u] - c) {//求最短路,不存在环路 dis2[v] = dis2[u] - c; if (!mark[v]) { mark[v] = true; que.push(v); } } } }}inline void AOENetWork(int st, int ed) { HeadToTail(st, ed); TailToHead(ed, ed);}int main() { return 0;}
阅读全文
0 0
- AOE 关键路径
- AOE 关键路径求解
- AOE求关键路径
- AOE关键路径
- AOE关键路径
- AOE关键路径
- AOE网--求关键路径
- 求关键路径、AOE网
- AOE图的关键路径
- AOE网与关键路径
- 关键路径与AOE网
- AOE网求关键路径
- 求关键路径(AOE)
- 关键路径(AOE网)
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- 这个博客好难写啊,不知道从哪里下手
- 基于GANs的图像编辑方法
- AI浪潮席卷而来,现在加入还来得及吗?
- vue-router 2.0 常用基础知识点之router.push()
- 《程序员的职业素养》【PDF】下载
- AOE关键路径
- (转)PyCharm中Directory与Python package的区别
- 回顾周杰伦17年间的歌词,才知道他都唱了些什么
- PHP 将Unicode中文编码转换成Utf8中文
- 论文笔记:Learning to Detect Violent Videos using Convolutional Long Short-Term Memory
- 一、Java并发编程基础篇(003)同步异步
- Tensorflow Cuda 8.0 CuDNN 6.0 Python 3.5
- 动态代理[JDK]机制解析
- EasyScope(示波器控制软件)v3.0软件中文版下载附教程