Warning: session_start(): open(/tmp/sess_bd567e2200113fc43c02c33466327172, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:legal_string:jxm2001:基环树 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:legal_string:jxm2001:基环树

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
2020-2021:teams:legal_string:jxm2001:基环树 [2021/07/16 22:03]
jxm2001
2020-2021:teams:legal_string:jxm2001:基环树 [2021/07/17 09:26] (当前版本)
jxm2001 [例题四]
行 278: 行 278:
 $$ $$
  
-考虑依次断开一条边,得到链后计算 $\max(d(u)+d(v)+\text{dis}(u,​v))$,易知所有断边情况中的最小值就是直径的+考虑依次断开一条边,得到链后计算 $\max(d(u)+d(v)+\text{dis}(u,​v))$ ​得到生成树的直径所有断边情况中的最小值就是基环树的直径。 
 + 
 +简短证明一下上述结论:首先任意断开一条环上边可以得到一棵生成树,显然生成树的直径不小于基环树的直径。 
 + 
 +上,取基环树直径的中点 $rt$,做 $rt$ 的最短路生成树,则最短路生成树的直径等于基环树的直径。证毕
  
 但这样时间复杂度是 $O(n^2)$,考虑优化。记环上的点分别为 $u_1,​u_2\cdots u_m$,考虑先断开 $(u_1,u_m)$ 边,求出前缀 但这样时间复杂度是 $O(n^2)$,考虑优化。记环上的点分别为 $u_1,​u_2\cdots u_m$,考虑先断开 $(u_1,u_m)$ 边,求出前缀
2020-2021/teams/legal_string/jxm2001/基环树.1626444219.txt.gz · 最后更改: 2021/07/16 22:03 由 jxm2001