• <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)  編輯 收藏 引用

            夜夜亚洲天天久久| 超级碰碰碰碰97久久久久| 久久99国产精品久久久| 色综合久久久久| 欧美久久久久久午夜精品| 久久精品极品盛宴观看| 国产精品久久久久久福利漫画| 精品99久久aaa一级毛片| 色婷婷综合久久久中文字幕| 久久精品国产精品青草app| 欧美精品九九99久久在观看| 国产三级久久久精品麻豆三级| 久久综合九色欧美综合狠狠| 久久精品亚洲日本波多野结衣| 久久免费国产精品| 国产精品美女久久久久网| 欧美黑人激情性久久| 国产成人精品久久综合| 久久久久久国产精品无码超碰| 欧美久久天天综合香蕉伊| 99久久精品免费看国产一区二区三区 | 欧美日韩中文字幕久久久不卡| 久久天天躁狠狠躁夜夜躁2O2O| 久久亚洲欧洲国产综合| 国产亚洲成人久久| 国产精品狼人久久久久影院| 久久午夜电影网| 久久夜色精品国产亚洲| 国产精品久久久久aaaa| 久久国产亚洲精品无码| 人妻无码中文久久久久专区 | 青青青国产精品国产精品久久久久| 久久久久青草线蕉综合超碰| 伊人久久大香线蕉综合5g| 久久久网中文字幕| 久久99国产精品久久99小说| 性做久久久久久久久| 99久久精品免费看国产一区二区三区 | 99久久国产亚洲高清观看2024 | 久久香蕉国产线看观看精品yw| 亚洲AV无码久久精品狠狠爱浪潮|