锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久18,国产精品久久影院,综合久久给合久久狠狠狠97色 http://www.shnenglu.com/mtysblog/category/15942.html姊︿箣鎵瀵勶紝琛屼箣鎵涓?/description>zh-cnSun, 20 Feb 2011 00:54:50 GMTSun, 20 Feb 2011 00:54:50 GMT607.1.2 鏈夊悜鍥懼強鍏惰繛閫氭?/title><link>http://www.shnenglu.com/mtysblog/archive/2011/02/04/139720.html</link><dc:creator>_椋炲瘨</dc:creator><author>_椋炲瘨</author><pubDate>Fri, 04 Feb 2011 07:17:00 GMT</pubDate><guid>http://www.shnenglu.com/mtysblog/archive/2011/02/04/139720.html</guid><wfw:comment>http://www.shnenglu.com/mtysblog/comments/139720.html</wfw:comment><comments>http://www.shnenglu.com/mtysblog/archive/2011/02/04/139720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mtysblog/comments/commentRss/139720.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mtysblog/services/trackbacks/139720.html</trackback:ping><description><![CDATA[<p><br>Tarjan綆楁硶錛?/p> <p>銆 榪欐槸SCC闂鐨勭涓涓畻娉曪紝鐢盩arjan浜?972騫存彁鍑恒傜畻娉曚粛鐒跺熷姪DFS錛屼絾瀹冨茍涓嶄緷闈犻亶鍘嗛『搴忔潵鎶婁笉鍚岀殑SCC鍒嗙鍒頒笉鍚岀殑DFS鏍戜腑錛岃屾槸璁╁涓猄CC騫跺瓨浜庡悓涓涓狣FS鏍戜腑錛岀敤鏌愮鎵嬫鎶婁粬浠垎寮銆傝冭檻涓涓己鍒嗛噺C錛岃鍏朵腑絎竴涓鍙戠幇鐨勭偣涓簒錛岀敱鐧借礬寰勫畾鐞嗭紝C涓叾浠栫偣閮芥槸x鐨勫悗浠c傛垜浠笇鏈涘湪x璁塊棶瀹屾垚鏃剁珛鍒昏緭鍑篊銆?娉ㄦ剰榪欓噷鏄竴涓弗鏍肩殑鏁板鎻忚堪)銆傝繖鏍鳳紝灝卞彲浠ュ湪鍚屼竴媯礑FS鏍戜腑鍖哄垎寮鎵鏈夌殑SCC浜嗐傚洜姝ら棶棰樼殑鍏抽敭鏄細濡備綍鍒ゆ柇涓涓偣鏄惁涓篠CC涓渶鍏堣鍙戠幇鐨勭偣銆?br>銆<br>銆   濡傚浘銆?img style="WIDTH: 384px; HEIGHT: 259px" border=0 alt=dfs鏍?align=right src="http://www.shnenglu.com/images/cppblog_com/mtysblog/Tarjan.jpg" width=384 height=259>鍋囪鎴戜滑姝e湪鍒ゆ柇u鏄惁涓烘煇SCC涓涓涓鍙戠幇鐨勮妭鐐廣傚鏋滄垜浠彂鐜頒粠u鐨勫効瀛愬嚭鍙戝彲浠ュ埌杈緐鐨勭鍏坵,鏄劇劧u\v\w鍦ㄥ悓涓涓猄CC涓紝鍥犳u涓嶆槸璇CC絎竴涓鍙戠幇鐨勮妭鐐廣傚鏋滀粠v鍑虹幇鏈澶氬彧鑳藉埌u錛岄偅涔坲鏄SCC涓涓涓鍙戠幇鐨勮妭鐐癸紙涔熻鏈夊悓瀛︿細闂紝鑻ユ墍鏈夊瓙鑺傜偣涓嶈兘鍒拌揪u鏈韓錛屼綍浠ヨ兘璇存槑u鏄拰瀛愭爲寮鴻仈閫氱殑錛熷叾瀹炵敱浜嶥FS鐨勭壒鐐癸紝鑻ヨ繖鏍風殑鎯呭喌鍑虹幇錛屽疄闄呬笂鍦╱鐨勫瓙鏍戜笂宸茬粡瀹屾垚浜嗕竴涓己鍒嗛噺鐨勫鎵撅紝u姝ゆ椂鏄彧鍒板畠鏈韓鐨?#8220;絎竴涓?#8221;琚彂鐜拌妭鐐癸紝鍘熶功鐨勬弿榪版槸涓ユ牸鍜屽綊綰崇殑錛夈傝繖鏍鳳紝闂杞寲涓烘眰錛氫竴涓偣u鏈榪滆兘鍒拌揪鐨勭鍏堢殑d鍊箋傛敞鎰忚繖閲岀殑“鍒拌揪”鍙互閫氳繃鍚庡悜杈規垨浜ゅ弶杈癸紝浣嗘槸鍓嶆彁鏄彧鑳介氳繃鏍堥噷闈㈢殑鐐硅屼笉鏄凡緇忕‘瀹歋CC緙栧彿鐨勫叾浠栫偣銆傚浘涓疄綰胯〃紺轟竴鏉¤竟錛岃櫄綰胯〃紺轟竴鏉℃垨澶氭潯杈廣?br><br><br>      瀹氫箟low[u]涓簎鍙婂叾鍚庝唬鑳借拷婧埌鐨勬渶鏃╃鍏坴鐨勫彂鐜版椂闂存埑pre[v]錛屾垜浠彲浠ュ湪璁$畻low鍑芥暟鐨勫悓鏃跺畬鎴怱CC鐨勮綆楋紝low鍑芥暟鐨勯掓帹鏂規硶濡備笅錛?br>      鍒╃敤鍏ㄥ眬鏍坃sta淇濆瓨褰撳墠SCC涓殑鑺傜偣錛堟敞鎰忔爤涓妭鐐瑰艦鎴愭爲鑰屼笉涓瀹氭槸閾撅級錛宑nt涓哄紑鍙戝綋鍓嶇偣u鐨勬椂闂存埑錛宻cnt涓哄己鍒嗛噺緙栧彿鍣紝id[]涓哄己鍒嗛噺緙栧彿鏁扮粍銆?br><br>      鍘熷鐨凾arjan綆楁硶閫掓帹鏂瑰紡涓猴細濡傛灉 pre[w]<pre[u]涓攚鍦ㄦ爤涓紝鍒檒ow[u]=min{pre[w],low[u]}錛屾敞鎰忓悗涓涓檺鍒舵槸涓轟簡淇濊瘉w涓嶆槸鍦ㄥ彟涓涓凡緇忓彂鐜扮殑SCC涓備笅闈㈢殑浠g爜鏇寸畝媧侊紝鍦ㄦ爣璁板己鍒嗛噺鍚庯紝鍙渶瑕佸皢low[w]璁句負鏈澶у鹼紝琛ㄦ槑瀹冧笉鍐嶆槸浠諱綍鐐圭殑紲栧厛錛岄偅涔坵灝變笉浼氳鍏朵粬寮哄垎閲忓惛鏀朵簡錛屾兂鎯充負浠涔堛?br><br></p> <div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080"> 1</span><img id=Codehighlighter1_19_506_Open_Image onclick="this.style.display='none'; Codehighlighter1_19_506_Open_Text.style.display='none'; Codehighlighter1_19_506_Closed_Image.style.display='inline'; Codehighlighter1_19_506_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_19_506_Closed_Image onclick="this.style.display='none'; Codehighlighter1_19_506_Closed_Text.style.display='none'; Codehighlighter1_19_506_Open_Image.style.display='inline'; Codehighlighter1_19_506_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif"><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> dfs</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">scc(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> u)</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_19_506_Closed_Text><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_19_506_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> w,min;<br></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    min</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">low[u]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">pre[u]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cnt</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img id=Codehighlighter1_61_92_Open_Image onclick="this.style.display='none'; Codehighlighter1_61_92_Open_Text.style.display='none'; Codehighlighter1_61_92_Closed_Image.style.display='inline'; Codehighlighter1_61_92_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_61_92_Closed_Image onclick="this.style.display='none'; Codehighlighter1_61_92_Closed_Text.style.display='none'; Codehighlighter1_61_92_Open_Image.style.display='inline'; Codehighlighter1_61_92_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_61_92_Closed_Text>/**/</span><span id=Codehighlighter1_61_92_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 鍒濆鍖栨椂闂存埑錛宭ow鍊鹼紝瀛愯妭鐐規渶灝忕鍏?nbsp;涓哄綋鍓嶆椂闂存埑 </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">     _sta.push(u);<br></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">     <br></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img id=Codehighlighter1_129_236_Open_Image onclick="this.style.display='none'; Codehighlighter1_129_236_Open_Text.style.display='none'; Codehighlighter1_129_236_Closed_Image.style.display='inline'; Codehighlighter1_129_236_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_129_236_Closed_Image onclick="this.style.display='none'; Codehighlighter1_129_236_Closed_Text.style.display='none'; Codehighlighter1_129_236_Open_Image.style.display='inline'; Codehighlighter1_129_236_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> each (u,w)</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_129_236_Closed_Text><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_129_236_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">         </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(pre[w]</span><span style="COLOR: #000000">==-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">) dfs</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">scc(w);<br></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img id=Codehighlighter1_164_174_Open_Image onclick="this.style.display='none'; Codehighlighter1_164_174_Open_Text.style.display='none'; Codehighlighter1_164_174_Closed_Image.style.display='inline'; Codehighlighter1_164_174_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_164_174_Closed_Image onclick="this.style.display='none'; Codehighlighter1_164_174_Closed_Text.style.display='none'; Codehighlighter1_164_174_Open_Image.style.display='inline'; Codehighlighter1_164_174_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">         </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_164_174_Closed_Text>/**/</span><span id=Codehighlighter1_164_174_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 鏈紑鍙戣妭鐐?nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">         </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( low[w]</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">min ) min</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">low[w];<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img id=Codehighlighter1_211_232_Open_Image onclick="this.style.display='none'; Codehighlighter1_211_232_Open_Text.style.display='none'; Codehighlighter1_211_232_Closed_Image.style.display='inline'; Codehighlighter1_211_232_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_211_232_Closed_Image onclick="this.style.display='none'; Codehighlighter1_211_232_Closed_Text.style.display='none'; Codehighlighter1_211_232_Open_Image.style.display='inline'; Codehighlighter1_211_232_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">         </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_211_232_Closed_Text>/**/</span><span id=Codehighlighter1_211_232_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 姹傚嚭u鎵鏈夊効瀛恑鏈榪滆兘鍒拌揪鐨勭鍏?nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">     }</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">     <br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img id=Codehighlighter1_257_280_Open_Image onclick="this.style.display='none'; Codehighlighter1_257_280_Open_Text.style.display='none'; Codehighlighter1_257_280_Closed_Image.style.display='inline'; Codehighlighter1_257_280_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_257_280_Closed_Image onclick="this.style.display='none'; Codehighlighter1_257_280_Closed_Text.style.display='none'; Codehighlighter1_257_280_Open_Image.style.display='inline'; Codehighlighter1_257_280_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(min</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">low[u])</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_257_280_Closed_Text><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_257_280_Open_Text><span style="COLOR: #000000">{ low[u]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">min; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ; }</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img id=Codehighlighter1_284_349_Open_Image onclick="this.style.display='none'; Codehighlighter1_284_349_Open_Text.style.display='none'; Codehighlighter1_284_349_Closed_Image.style.display='inline'; Codehighlighter1_284_349_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_284_349_Closed_Image onclick="this.style.display='none'; Codehighlighter1_284_349_Closed_Text.style.display='none'; Codehighlighter1_284_349_Open_Image.style.display='inline'; Codehighlighter1_284_349_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_284_349_Closed_Text>/**/</span><span id=Codehighlighter1_284_349_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 鎵鏈夌殑鍎垮瓙鑳藉埌杈劇殑鏈榪滅鍏堟槸u鐨勭鍏堬紝鍥犳u涓嶆槸SCC<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #008000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">         絎竴涓鍙戠幇鐨勮妭鐐癸紝閫氳繃瀛愯妭鐐癸紝u搴旇兘鍒拌揪榪欐牱鐨勭涓涓妭鐐?nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img id=Codehighlighter1_355_441_Open_Image onclick="this.style.display='none'; Codehighlighter1_355_441_Open_Text.style.display='none'; Codehighlighter1_355_441_Closed_Image.style.display='inline'; Codehighlighter1_355_441_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_355_441_Closed_Image onclick="this.style.display='none'; Codehighlighter1_355_441_Closed_Text.style.display='none'; Codehighlighter1_355_441_Open_Image.style.display='inline'; Codehighlighter1_355_441_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="COLOR: #0000ff">do</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_355_441_Closed_Text><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_355_441_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">         w</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">_sta.pop(w);<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">         id[w]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">scant;<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_413_437_Open_Image onclick="this.style.display='none'; Codehighlighter1_413_437_Open_Text.style.display='none'; Codehighlighter1_413_437_Closed_Image.style.display='inline'; Codehighlighter1_413_437_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_413_437_Closed_Image onclick="this.style.display='none'; Codehighlighter1_413_437_Closed_Text.style.display='none'; Codehighlighter1_413_437_Open_Image.style.display='inline'; Codehighlighter1_413_437_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">         low[w]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0x7fffffff</span><span style="COLOR: #000000">; </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_413_437_Closed_Text>/**/</span><span id=Codehighlighter1_413_437_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 閿佸畾low錛屼繚璇亀涓嶄細琚叾浠栧己鍒嗛噺鍚告敹 </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">     }</span></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(w</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">u)<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img id=Codehighlighter1_456_493_Open_Image onclick="this.style.display='none'; Codehighlighter1_456_493_Open_Text.style.display='none'; Codehighlighter1_456_493_Closed_Image.style.display='inline'; Codehighlighter1_456_493_Closed_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_456_493_Closed_Image onclick="this.style.display='none'; Codehighlighter1_456_493_Closed_Text.style.display='none'; Codehighlighter1_456_493_Open_Image.style.display='inline'; Codehighlighter1_456_493_Open_Text.style.display='inline';" align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">     </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_456_493_Closed_Text>/**/</span><span id=Codehighlighter1_456_493_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> 姝ゆ椂錛寀鐨勬墍鏈夊瓙鑺傜偣蹇呰兘涓旀渶榪滀粎鑳藉埌杈緐錛屼粬浠矡閫氭瀯鎴愪竴涓猄CC </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif">     scant</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img align=top src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div> <img src ="http://www.shnenglu.com/mtysblog/aggbug/139720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mtysblog/" target="_blank">_椋炲瘨</a> 2011-02-04 15:17 <a href="http://www.shnenglu.com/mtysblog/archive/2011/02/04/139720.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>7.1.1 鍥鵑亶鍘嗕笌搴旂敤http://www.shnenglu.com/mtysblog/archive/2011/01/28/139555.html_椋炲瘨_椋炲瘨Fri, 28 Jan 2011 15:01:00 GMThttp://www.shnenglu.com/mtysblog/archive/2011/01/28/139555.htmlhttp://www.shnenglu.com/mtysblog/comments/139555.htmlhttp://www.shnenglu.com/mtysblog/archive/2011/01/28/139555.html#Feedback0http://www.shnenglu.com/mtysblog/comments/commentRss/139555.htmlhttp://www.shnenglu.com/mtysblog/services/trackbacks/139555.html浜屽垎鍥懼垽瀹?
   鍒╃敤騫垮害浼樺厛鎼滅儲鍙互鍒ゆ柇涓涓浘鏄惁涓轟簩鍒嗗浘銆傝搗鐐箂鏄劇劧鍙互闅忔剰瀹氳壊錛屾瘡嬈¤冭檻涓鏉¤竟(u,v)鏃舵樉鐒秛鎵鍦ㄩ泦鍚堝凡瀹氾紝鍥犳褰搗涓虹櫧鑹叉椂鎶婂畠鏀懼埌涓嶅寘鍚玼鐨勯偅涓泦鍚堬紝鑰屽綋v涓虹伆鑹叉垨榛戣壊鏃?姝ゆ椂v鎵鍦ㄩ泦鍚堝凡緇忕‘瀹?媯鏌鍜寀鏄惁鍦ㄥ悓涓涓泦鍚堛傚鏋滄槸錛屽垯璇ュ浘涓嶆槸浜屽垎鍥撅紝澶辮觸閫鍑恒傚鏋滄槸娌℃湁澶辮觸錛屽垯綆楁硶瀹為檯涓婂凡緇忔瀯閫犲嚭浜嗚繖涓や釜闆嗗悎銆傚湪蹇界暐s鎵鍦ㄩ泦鍚堢殑鎯呭喌涓嬶紝榪欎釜闆嗗悎鐨勫垎鍒掓槸鍞竴鐨勶紙綆楁硶姝ラ涓殑姣忎竴姝ラ兘鏄己鍒剁殑錛夈?/span>

   
 1
 2bool Is_BipartiteGraph(int n,int id[] /* 浜屽垎鑺傜偣闆?nbsp;*/ ){
 3    int k,cnt=0;
 4    enum {Gray,Black,White} color[N];
 5    queue<int> _que;
 6    for(int i=0;i<n;i++) color[i]=White;
 7    _que.push(0); color[0]=Black; id[0]=cnt;
 8    while(!_que.empty()){
 9        k=_que.front(); _que.pop();
10        for(int i=0;i<n;i++)
11            if( g[k][i] ){
12                if( Gray == color[i] | Black == color[i] ){    
13                    if( id[i] == id[k] ) return false
14                }

15                else{
16                    id[i]=1-id[k];
17                    color[i]=Gray;
18                    _que.push(i);
19                }

20            }

21        color[k]=Black;
22    }

23    return true;
24}


Time_stamp-DFS+杈瑰垎綾葷畻娉曪細
   鎶婂垎綾昏鍒欒惤瀹炲埌DFS涓紝鍙渶鍦ㄨ冭檻杈?u,v)鏃舵鏌鐨勯鑹詫細
    v鏄櫧鑹詫紝(u,v)鏄?鏍戣竟 Tree edge
    v鏄伆鑹?(u,v)鏄?鍚庡悜杈?Back edge
    v鏄粦鑹?緇х畫鍒ゅ畾銆傝嫢find[u]<find[v]璇存槑v鏄痷鐨勫悗浠o紝鍥犳瀹冩槸鍓嶅悜杈笷orward edge錛屽惁鍒欎負浜ゅ弶杈笴ross edge銆?br>

 1enum{ Tree,Back,Forward,Cross } id[N][N];
 2enum{ Black,White,Gray } color[N]={White};
 3int finish[N],find[N];
 4int time=0;
 5void DFS(int s){
 6    color[s]=Gray; // 寮濮嬫墿灞?nbsp;
 7    find[s]=++time;
 8    for(int i=0;i<n;i++)
 9        if(g[s][i]){
10            switch (color[i]){
11                case White:{
12                    id[s][i]=Tree;
13                    DFS(i);
14                    break;
15                }

16                case Gray:{
17                    id[s][i]=Back;    
18                    break;
19                }

20                case Black:{
21                    if(find[s]<find[i]) id[s][i]=Forward;
22                    else id[s][i]=Cross;
23                    break;
24                }

25            }

26        }

27    color[s]=Black; //浜嬩歡緇撴潫 
28    finish[s]=++time;
29}


]]>
综合久久精品色| 99久久人妻无码精品系列| 久久国产视频网| 欧美日韩中文字幕久久久不卡| 97精品依人久久久大香线蕉97| 精品免费久久久久久久| 免费一级欧美大片久久网| 日日噜噜夜夜狠狠久久丁香五月| 久久九九全国免费| 麻豆久久久9性大片| 色综合久久中文字幕无码 | 一本一本久久a久久精品综合麻豆| 久久婷婷五月综合97色直播| 精品久久久久久亚洲| 久久受www免费人成_看片中文| 狠狠色婷婷综合天天久久丁香| 中文字幕精品久久| 亚洲成人精品久久| 日韩久久久久久中文人妻| 久久久久黑人强伦姧人妻| 久久无码av三级| 久久精品a亚洲国产v高清不卡 | 亚洲中文久久精品无码ww16 | 亚洲国产一成人久久精品| 精品人妻伦一二三区久久| 久久精品国产亚洲精品2020| 精品久久久久久无码不卡| 久久嫩草影院免费看夜色| 国产精品日韩欧美久久综合| 久久精品国产亚洲av麻豆色欲 | 久久久久亚洲AV无码永不| 久久国产欧美日韩精品| 久久无码高潮喷水| 久久久久久久精品成人热色戒| 久久久久99精品成人片牛牛影视 | 中文精品99久久国产 | 国产精品久久久久蜜芽| 色婷婷狠狠久久综合五月| 无码任你躁久久久久久| 国产精品99久久久久久宅男小说| 青青草国产97免久久费观看|