﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-WHUGCC</title><link>http://www.cppblog.com/WHUGCC/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 21 Apr 2026 20:00:11 GMT</lastBuildDate><pubDate>Tue, 21 Apr 2026 20:00:11 GMT</pubDate><ttl>60</ttl><item><title>URAL JUDGE ID 57735TC</title><link>http://www.cppblog.com/WHUGCC/archive/2007/09/22/32660.html</link><dc:creator>WHUGCC</dc:creator><author>WHUGCC</author><pubDate>Sat, 22 Sep 2007 04:06:00 GMT</pubDate><guid>http://www.cppblog.com/WHUGCC/archive/2007/09/22/32660.html</guid><wfw:comment>http://www.cppblog.com/WHUGCC/comments/32660.html</wfw:comment><comments>http://www.cppblog.com/WHUGCC/archive/2007/09/22/32660.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/WHUGCC/comments/commentRss/32660.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/WHUGCC/services/trackbacks/32660.html</trackback:ping><description><![CDATA[rt
<img src ="http://www.cppblog.com/WHUGCC/aggbug/32660.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/WHUGCC/" target="_blank">WHUGCC</a> 2007-09-22 12:06 <a href="http://www.cppblog.com/WHUGCC/archive/2007/09/22/32660.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>给出一个没有偶圈的简单无向图，求两个顶点间路径的数目。</title><link>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32371.html</link><dc:creator>WHUGCC</dc:creator><author>WHUGCC</author><pubDate>Mon, 17 Sep 2007 13:06:00 GMT</pubDate><guid>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32371.html</guid><wfw:comment>http://www.cppblog.com/WHUGCC/comments/32371.html</wfw:comment><comments>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/WHUGCC/comments/commentRss/32371.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/WHUGCC/services/trackbacks/32371.html</trackback:ping><description><![CDATA[给出一个没有偶圈的简单无向图，求两个顶点间路径的数目。<br><br>老实说，这个题目其实不容易，在正式竞赛中肯定不属于送分题。题目的难点在于发现&#8220;没有偶圈&#8221;这个条件反映的图的特殊性质。<br><br>如提示中所说，考虑图的双连通分量。首先解释一下什么是双连通分量。无向图中某个顶点如果被删除之后，连通分量的数目增加，那么这个顶点就叫做割点。无向图中不包含割点的极大子图就是双连通分量。<br><br>双连通分量中任意两顶点共圈。从这个性质出发，可以证明：没有偶圈的简单无向图的所有双连通分量只能是2阶完全图或奇圈，收缩所有双连通分量之后得到的图是树。这两个性质意味着，图中两个顶点间的路径经过的双连通分量的序列是相同的。由此得到一下算法：<br><br>1.求出图的所有双连通分量；<br>2.确定从顶点u到顶点v的一条路径；<br>3.确定路径经过的双连通分量的序列；<br>4.确定序列中是奇圈的双连通分量的数目，记为k，则路径数为2^k。<br><br>在分析上述算法的复杂度之间，先补充一下图的另一个性质。因为图中没有偶圈，所以图中不包含同胚于5阶完全图或3,3完全二部图的子图，根据Kuratowski定理，这个图是平面图，由此可得m&nbsp;=&nbsp;O(n)。<br><br>现在来分析算法的复杂度。第1步可以利用J.&nbsp;Hopcroft提出的线性时间算法在O(n&nbsp;+&nbsp;m)&nbsp;=&nbsp;O(n)时间内完成。第2步可以用宽度优先搜索在O(n)时间内实现。第3步可以直接在O(n)时间内实现。第4步是整个算法的瓶颈。&nbsp;它需要计算一个O(2^(n/2))的数值。使用一般的算法实现时间复杂度将为O(n^2)，如果使用快速正交变换实现时间复杂度将为O(nlogn)。综合以上四个结果，算法的时间复杂度是O(nlogn)。算法的空间复杂度为O(n)。
<img src ="http://www.cppblog.com/WHUGCC/aggbug/32371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/WHUGCC/" target="_blank">WHUGCC</a> 2007-09-17 21:06 <a href="http://www.cppblog.com/WHUGCC/archive/2007/09/17/32371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>http://acm.hit.edu.cn/ojs/show.php?Proid=2543&amp;Contestid=0</title><link>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32359.html</link><dc:creator>WHUGCC</dc:creator><author>WHUGCC</author><pubDate>Mon, 17 Sep 2007 10:07:00 GMT</pubDate><guid>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32359.html</guid><wfw:comment>http://www.cppblog.com/WHUGCC/comments/32359.html</wfw:comment><comments>http://www.cppblog.com/WHUGCC/archive/2007/09/17/32359.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/WHUGCC/comments/commentRss/32359.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/WHUGCC/services/trackbacks/32359.html</trackback:ping><description><![CDATA[<p>一个最小费用，最大流，待解决。</p>
<img src ="http://www.cppblog.com/WHUGCC/aggbug/32359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/WHUGCC/" target="_blank">WHUGCC</a> 2007-09-17 18:07 <a href="http://www.cppblog.com/WHUGCC/archive/2007/09/17/32359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>