青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

lzm

who dare win.
posts - 14, comments - 29, trackbacks - 0, articles - 0

Critical Path 關鍵路徑

Posted on 2009-04-09 23:02 lzmagic 閱讀(1905) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
/**
 * CRITICALPATH(簡單版) 關鍵路徑 
 * 輸入:無環圖g。 
 * 輸出:(1)各點最早完成時間ec; 
 *       (2)各點最晚完成時間lc; 
 *       (3)關鍵路徑prev。 
 * 結構:圖g用鄰接矩陣表示
 * 算法:拓撲排序,動態規劃(DP) 
 * 復雜度:O(|V|^2) 
 
*/

#include 
<iostream>
#include 
<string>
#include 
<vector>
#include 
<deque>
#include 
<list>
#include 
<stack>
#include 
<queue>
#include 
<iterator>
#include 
<algorithm>
#include 
<numeric>
#include 
<functional>
#include 
<climits>
using namespace std;

int n;                        // n :頂點個數 
vector<vector<int> > g;        // g :圖(graph)(用鄰接矩陣(adjacent matrix)表示) 

vector
<int> seq;            // seq :拓撲序列(sequence) 

bool TopSort()        // 拓撲排序 
{
    vector
<int> inc(n, 0);     
    
for (int i = 0; i < n; ++i)
        
for (int j = 0; j < n; ++j)
             
if (g[i][j] < INT_MAX) ++inc[j]; // 計算每個頂點的入度, 
    queue<int> que;
    
for (int j = 0; j < n; ++j)
        
if (inc[j] == 0) que.push(j); // 如果頂點的入度為0,入隊。
    int seqc = 0;
    seq.resize(n);
    
while (!que.empty())     // 如果隊列que非空,
    {
        
int v = que.front(); que.pop();     
        seq[seqc
++= v;      // 頂點v出隊,放入seq中,
        for (int w = 0; w < n; ++w)     // 遍歷所有v指向的頂點w,
            if (g[v][w] < INT_MAX)
                
if (--inc[w] == 0) que.push(w); // 調整w的入度,如果w的入度為0,入隊。 
    }

    
return seqc == n; // 如果seq已處理頂點數為n,存在拓撲排序,否則存在回路。
}


vector
<int> ec;                // ec : 最早完成時間(early complete time) 
vector<int> lc;                // lc : 最晚完成時間(late complete time) 
vector<int> cp;                // cp : 關鍵路徑(critical path)

void CriticalPath()    // 關鍵路徑 
{
    
// 最早完成時間:ec[0] = 0;
    
//               ec[v] = max(ec[u] + g[u][v])。 
    ec.assign(n, INT_MIN);  ec[seq[0]] = 0;
    
for (int i = 0; i < n - 1++i)
        
for (int v = 0; v < n; ++v)
            
if (g[seq[i]][v] < INT_MAX)
                ec[v] 
= max(ec[v], ec[seq[i]] + g[seq[i]][v]);
    
// 最晚完成時間:lc[n - 1] = ec[n - 1];
    
//               lc[u] = min(lc[v] - g[u][v])。 
    lc.assign(n, INT_MAX);    lc[seq[n - 1]] = ec[seq[n - 1]]; 
    
for (int j = n - 1; j > 0--j)
        
for (int u = 0; u < n; ++u)
            
if (g[u][seq[j]] < INT_MAX)
                lc[u] 
= min(lc[u], lc[seq[j]] - g[u][seq[j]]);
    
// 關鍵路徑:cp[0] = seq[0]; 
    
//           if(松弛時間slack(u, v) = lc[v] - ec[u] - g[u][v]為零) 
    
//             { u為關鍵路徑點;如果u為seq[n - 1],結束。} 
    cp.clear(); cp.push_back(seq[0]); 
    
for (int i = 0; i < n - 1++i)
    
{
        
for (int v = 0; v < n; ++v)
            
if (g[cp[i]][v] < INT_MAX)
            
{
                
int slack = lc[v] - ec[cp[i]] - g[cp[i]][v];
                
if (slack == 0{ cp.push_back(v); break; }
            }

        
if (cp.back() == seq[n - 1]) break;
    }

}


int main()
{
    n 
= 9;
    g.assign(n, vector
<int>(n, INT_MAX));
    g[
0][1= 6; g[0][2= 4; g[0][3= 5;
    g[
1][4= 1;
    g[
2][4= 1;
    g[
3][5= 2;
    g[
4][6= 9; g[4][7= 7;
    g[
5][7= 4;
    g[
6][8= 2;
    g[
7][8= 4;         
    
    
if (TopSort())
    
{
         copy(seq.begin(), seq.end(), ostream_iterator
<int>(cout, " ")); cout << endl;
         CriticalPath();
         copy(ec.begin(), ec.end(), ostream_iterator
<int>(cout, " ")); cout << endl;
         copy(lc.begin(), lc.end(), ostream_iterator
<int>(cout, " ")); cout << endl;
         copy(cp.begin(), cp.end(), ostream_iterator
<int>(cout, " ")); cout << endl;
    }

    
else
    
{
         cout 
<< "Circles exist." << endl;
    }

    
    system(
"pause");
    
return 0;
}

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩美女在线观看| 久久精视频免费在线久久完整在线看| 欧美日本亚洲| 亚洲精品少妇网址| 西西裸体人体做爰大胆久久久| 亚洲第一免费播放区| 亚洲激情成人| 亚洲激情第一页| 亚洲视频一二区| 久久黄色影院| 欧美午夜一区二区| 欧美一级片一区| 91久久久久久国产精品| 久久久夜夜夜| 亚洲精品资源美女情侣酒店| 先锋影音久久久| 欧美欧美天天天天操| 欧美日韩视频第一区| 欧美日韩精品免费观看视一区二区 | 欧美激情影音先锋| av成人黄色| 国产美女精品视频| 欧美岛国激情| 欧美日韩国产bt| 久久久一区二区| 欧美日韩福利| 久久综合久久综合这里只有精品| 亚洲第一级黄色片| 亚洲一区二区三区免费观看| 久久视频免费观看| 亚洲特黄一级片| 亚洲精品免费一二三区| 久久不射网站| 一区二区免费在线视频| 欧美大片在线观看一区二区| 欧美高清自拍一区| 国产精品久久久久久久午夜| 国产欧美日韩一区二区三区在线观看| 99pao成人国产永久免费视频| 久久久久9999亚洲精品| 一区二区三区四区五区在线| 蜜臀av在线播放一区二区三区| 一区二区三区四区五区视频| 国产一区成人| 欧美日韩高清免费| 国产精品乱码妇女bbbb| 国产精品视频福利| 亚洲一区视频在线| 美女主播一区| 欧美在线视频免费| 久久精品99国产精品| 国产精品社区| 性伦欧美刺激片在线观看| 一区二区三区日韩在线观看 | 久久久青草婷婷精品综合日韩| 免费高清在线一区| 国产日产欧产精品推荐色 | 亚洲三级视频| 91久久夜色精品国产九色| 欧美大片免费久久精品三p | 国产欧美va欧美va香蕉在| 在线成人激情黄色| 欧美成人激情视频| 精品电影一区| 久久精品免费电影| 另类国产ts人妖高潮视频| 在线亚洲观看| 亚洲制服av| 欧美三日本三级少妇三2023| 亚洲制服少妇| 久久久久久夜| 夜夜夜久久久| 欧美日韩一区二区在线播放| 亚洲欧美国产日韩天堂区| 亚洲一二三区在线观看| 一本色道久久88综合亚洲精品ⅰ | 亚洲精品日韩欧美| 免费短视频成人日韩| 9久re热视频在线精品| 久久午夜av| 亚洲国产成人在线| 亚洲系列中文字幕| 精品91在线| 狂野欧美激情性xxxx| 中日韩男男gay无套| 亚洲国产欧美日韩精品| 欧美午夜电影网| 免费亚洲一区二区| 国产精品sm| 亚洲自拍三区| 久久九九电影| 国产精品家庭影院| 欧美专区第一页| 亚洲高清视频在线观看| 国产日韩精品在线| 玖玖视频精品| 久久久精品日韩欧美| 午夜激情久久久| 亚洲私人黄色宅男| 国产日韩三区| 日韩亚洲精品视频| 午夜精品999| 亚洲色图制服丝袜| 韩国av一区二区三区在线观看| 亚洲免费在线视频一区 二区| 最新国产の精品合集bt伙计| 国产欧美日韩亚洲一区二区三区| 亚洲欧美综合v| 在线免费观看日本欧美| 亚洲成人在线网站| 红杏aⅴ成人免费视频| 美女爽到呻吟久久久久| 蜜臀av在线播放一区二区三区| 亚洲国产成人精品女人久久久| 亚洲综合色网站| 亚洲一区二区毛片| 黄色成人在线观看| 欧美日韩精品免费看| 亚洲精品中文字幕在线| 揄拍成人国产精品视频| 亚洲欧美一区二区激情| 99精品福利视频| 蜜月aⅴ免费一区二区三区| 欧美一区亚洲二区| 国产精品一区三区| 亚洲欧美日韩电影| 亚洲精品四区| 亚洲摸下面视频| 国产精品自拍三区| 欧美视频不卡| 欧美日韩国产成人| 欧美激情中文字幕在线| 亚洲人被黑人高潮完整版| 国产精品扒开腿爽爽爽视频| 亚洲国产精品一区制服丝袜| 亚洲国产精品视频一区| 亚洲一区二区三区精品在线| 亚洲影视九九影院在线观看| 欧美午夜国产| 亚洲欧美在线免费| 久久久久久69| 久久er精品视频| 欧美一区二区三区精品电影| 国产乱码精品| 国产精品日韩一区二区| 欧美在线观看天堂一区二区三区| 99日韩精品| 国产精品视频久久一区| 欧美国产视频日韩| 欧美激情久久久| 亚洲欧美国产精品专区久久| 国产无遮挡一区二区三区毛片日本| 中文高清一区| 美女国内精品自产拍在线播放| 一区二区在线观看av| 欧美寡妇偷汉性猛交| 久久精品人人做人人综合 | 日韩亚洲国产欧美| 亚洲一区二区三区激情| 国产一区日韩二区欧美三区| 久久久午夜电影| 亚洲视频免费看| 蜜臀va亚洲va欧美va天堂| 亚洲欧洲一区二区三区久久| 久久精品欧美日韩| 久久人体大胆视频| 麻豆精品精华液| 国产精品自在欧美一区| 9l国产精品久久久久麻豆| 亚洲欧洲日本一区二区三区| 欧美视频亚洲视频| 六月婷婷一区| 羞羞色国产精品| 日韩亚洲精品视频| 欧美电影免费观看网站| 亚洲伊人网站| 美腿丝袜亚洲色图| 99国产欧美久久久精品| 老牛国产精品一区的观看方式| 国产一区视频在线观看免费| 欧美日韩国产黄| 国产亚洲一本大道中文在线| 欧美精品一区在线观看| 久久视频免费观看| 先锋影音一区二区三区| 浪潮色综合久久天堂| 一区在线视频| 亚洲一区免费网站| 国产精品99久久久久久www| 亚洲国产精品第一区二区 | 国产精品久久久久久亚洲调教| 亚洲一区二区三区在线看 | 亚洲精品日韩在线| 久久精品亚洲乱码伦伦中文| 亚洲盗摄视频| 午夜视频一区在线观看| 久久av在线看| 一区二区三区精品视频在线观看| 欧美一区影院| 99精品国产在热久久下载|