日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

浅析斯坦纳树

發(fā)布時間:2023/12/15 综合教程 55 生活家
生活随笔 收集整理的這篇文章主要介紹了 浅析斯坦纳树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

淺析斯坦納樹

一、概述

斯坦納樹用來解決一下類似于最小連通性但是又不是單純的最小生成樹的問題。

二、一般情況

例題:洛谷P6192 【模板】最小斯坦納樹

題意:給定一個帶權(quán)無向圖和(k)個定點,要求一個權(quán)值和最小的子圖使得給定的所有點都在這個子圖上并讓這個子圖權(quán)值最小。(kleq10,nleq100,mleq500)。

由于(k)非常小,考慮狀壓(dp),設(shè)(f(i,j))表示包含(i)號節(jié)點,滿足對于定點的聯(lián)通性為(j)的子圖的最小權(quán)值。

考慮轉(zhuǎn)移有以下兩種方式:

(1)、可以在同一個點(i)把包含(i)的兩個連通塊并起來,那么這樣的轉(zhuǎn)移即為:

[f(i,j)=min(f(i,j),f(i,S)+f(i,complement_jS)[Ssubset j])
]

(2)、可以在(i)這個點加一條邊從而讓(i)和其他連通塊相合并:

[f(i,j)=min(f(i,j),f(v,j)+val(i,v))
]

注意到這個方程實際上是三角形不等式,可以用(spfa)或(dij)轉(zhuǎn)移,那么我們對于每一種狀態(tài)先處理出第一種轉(zhuǎn)移,再(dij)轉(zhuǎn)移第二種即可。

最終答案就是(min f(i,2^k-1))。

三、點帶權(quán)的斯坦納樹問題

例題:[WC2008]游覽計劃

求最小點權(quán)的斯坦納樹。

問題的本質(zhì)和邊帶權(quán)是一樣的,特殊之處就是在子集合并的時候會算重一遍(i)點的權(quán)值,那么減掉即可。

第一種轉(zhuǎn)移變?yōu)?/p>

[f(i,j)=min(f(i,j),f(i,S)+f(i,complement_jS-a_i)[Ssubset j])
]

即可。

四、只要求某些定點之間相互連通的斯坦納樹問題

例題1:[BZOJ4774]修路

題意:要求一個邊帶權(quán)的最小子圖使得(i(1leq ileq d))號點和(n-i+1)號點聯(lián)通,(dleq4)。

首先考慮狀壓(dp),唯一的不同就是我們可以允許某些點之間不連通,那么先做一遍普通的斯坦納樹,之后我們再做一次子集(dp)即可,設(shè)(g(i))表示聯(lián)通性為(i)最小的滿足要求的斯坦納森林的權(quán)值,那么轉(zhuǎn)移枚舉(i)的子集,之后要求這個子集和它的補集都必須滿足如果第(i)個點在集合中那么第(n-i+1)個點必須在集合中即可。

例題2:[JLOI2015]管道連接

題意:要求一個邊帶權(quán)的最小子圖使得所有給定的顏色相同的點都在同一個連通塊內(nèi)。

同例題1,只不過判定合法子集的方式有所改變而已。

總結(jié)

以上是生活随笔為你收集整理的浅析斯坦纳树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。