• <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>

            misschuer

            常用鏈接

            統計

            積分與排名

            百事通

            最新評論

            強連通分量的核心算法 無聊貼下

            /*
            1. 數組的初始化:當首次搜索到點p時,Dfn與Low數組的值都為到該點的時間。
            2. 堆棧:每搜索到一個點,將它壓入棧頂。
            3. 當點p有與點p’相連時,如果此時(時間為dfn[p]時)p’不在棧中,p的low值為兩點的low值中較小的一個。
            4. 當點p有與點p’相連時,如果此時(時間為dfn[p]時)p’在棧中,p的low值為p的low值和p’的dfn值中較小的一個。
            5. 每當搜索到一個點經過以上操作后(也就是子樹已經全部遍歷)的low值等于dfn值,則將它以及在它之上的元素彈出棧。
               這些出棧的元素組成一個強連通分量。
            6. 繼續搜索(或許會更換搜索的起點,因為整個有向圖可能分為兩個不連通的部分),直到所有點被遍歷。
            */

            void tarjan(int u) {
                
                dfn[ u ] 
            = low[ u ] = indeu ++;
                S.push(u);
                
                instack[ u ] 
            = true;
                
                
            for(int i = p[ u ]; i != -1; i = e[ i ].neut) {
                    
                          
            int v = e[ i ].v;
                        
            if(dfn[ v ] == -1) {
                            
                            tarjan(v);
                            low[ u ] 
            = min(low[ u ], low[ v ]);
                        }
                        
            else if(instack[ v ])
                            low[ u ] 
            = min(low[ u ], dfn[ v ]);
                }
                
                
            if(low[ u ] == dfn[ u ]) {
                    
                    
            while(true) {
                        
                        
            int tmp = S.top();
                        S.pop();
                        
                        belong[ tmp ] 
            = cnt;
                        instack[ tmp ] 
            = false;
                        
                        
            if(tmp == u) break;
                    }
                    cnt 
            ++;
                }
            }

            posted on 2011-03-31 12:49 此最相思 閱讀(202) 評論(0)  編輯 收藏 引用

            伊人久久大香线焦综合四虎| 亚洲v国产v天堂a无码久久| 亚洲乱码中文字幕久久孕妇黑人| 狠狠色丁香婷婷久久综合五月 | 久久99国产精品久久| 狠狠久久综合伊人不卡| 久久伊人五月丁香狠狠色| 99久久精品国内| 一本一道久久a久久精品综合| 日韩av无码久久精品免费| 久久亚洲精品无码观看不卡| 午夜人妻久久久久久久久| 久久精品无码一区二区app| 成人午夜精品无码区久久| 国产精品成人无码久久久久久| 国产精品久久久久久久app | 久久久久亚洲AV片无码下载蜜桃| 国产91久久综合| 久久99精品国产自在现线小黄鸭 | 亚洲国产精品久久久久| 波多野结衣AV无码久久一区| 国产综合精品久久亚洲| 精品午夜久久福利大片| 久久久女人与动物群交毛片| 久久精品视频一| 久久国产成人午夜aⅴ影院| 99国产欧美精品久久久蜜芽| 久久亚洲国产最新网站| 日韩欧美亚洲国产精品字幕久久久| 国产精品久久亚洲不卡动漫| 久久九九精品99国产精品| 亚洲精品乱码久久久久66| 国产成人精品综合久久久| 大香伊人久久精品一区二区| 亚洲精品乱码久久久久久蜜桃 | 国产成人精品久久免费动漫| 亚洲国产精品18久久久久久| 中文字幕乱码人妻无码久久| 99久久国产精品免费一区二区| 久久精品国产日本波多野结衣| 精品国产乱码久久久久软件|