首页 > 其他分享 >最小斯坦纳树学习笔记

最小斯坦纳树学习笔记

时间:2024-03-24 21:45:09浏览次数:17  
标签:最小 笔记 斯坦纳 给定 终端 节点 dp

本人非常菜如有错误请私信我指出

参考文献:


建议先学习最小生成树和最短路算法

最小斯坦纳树(\(Minimum\ Steiner\ Tree\ Problem\))可以理解为升级版的最小生成树。

首先给定图 \(G=(V,E)\) ,以及 \(V\) 的子集 \(U\) ,\(U\) 中的点为终端节点。最小斯坦纳树即求包含所有终端节点的 \(G\) 的子树中用到边权总和最小的。

  • 在最小斯坦纳树中,若所有顶点都为终端节点,这个问题就是最小生成树问题。

  • 最小斯坦纳树已经被证明是 \(NP-Hard\) 问题,所以可能不存在高效算法

  • 我很菜所以建议看看这篇$\Rightarrow $ Link


最小斯坦纳树-图1

如上图 $\Uparrow $,已知其终端节点为 \(A,B,C,F\) ,则其最小斯坦纳树如下:


例题:P6192 【模板】最小斯坦纳树

题意:给定一个带权无向图和\(k\)
个定点,要求一个权值和最小的子图使得给定的所有点都在这个子图上并让这个子图权值最小。\(k≤10,n≤100,m≤500\)

思路:由于 \(k \leq 10\) ,所以可以考虑状压DP

可以将 \(dp_{i,s}\) 看作

考虑以下两种转移方式:

  • \(dp_{i,S}=dp_{i,T}+dp_{i,S-T} \quad \quad (T\subseteq S )\)

  • \(dp_{i,S}=dp_{i,s}+w(i,j)\)

显然只需枚举 \(S\) 的子集 \(T\) 即可,然后发现可以用最短路跑一边,于是故状压DP + dij/SPFA

标签:最小,笔记,斯坦纳,给定,终端,节点,dp
From: https://www.cnblogs.com/JacoAwA/p/18093131

相关文章

  • 电学——线性电路与叠加定理 学习笔记
    电学——线性电路与叠加定理学习笔记线性元件线性元件,是在电路中电流与电压有线性关系的电子元件,例如金属导体和电解液。在温度不变的情况下,其两端电压和电流的关系就可以近似的认为是线性的。(理想的)电阻是最普遍的线性元件,常见的线性元件还有(理想的)电容和电感。在伏安特性......
  • 电学——电流源和电压源 学习笔记
    电学——电流源和电压源学习笔记前置知识:常见的电池及其符号符号符号理想电压源理想电流源受控电压源受控电流源单电池电池组电流源电流源(理想电流源)具有两个基本的性质:第一,它提供的电流是定值\(I\),或是一定的时间函数\(I(t)\)与两端的电压......
  • 逆向学习笔记(1)
    1.32,16,8位寄存器对应的关系2.MOV的语法总结:既能从寄存器写道内存,也能从内存写到寄存器,从寄存器写道寄存器,还能写入常量寄存器内存常量寄存器110内存100常量100所以,任何数据都可传给寄存器,寄存器能传数据给寄存器和内存3.内存操......
  • 电学——基尔霍夫电路定律 学习笔记
    电学——基尔霍夫电路定律学习笔记基尔霍夫电路定律(基尔霍夫定律)涉及了电荷的守恒及电势的保守性,指的是两条电路学定律:基尔霍夫电流定律(基尔霍夫第一定律,KCL)、基尔霍夫电压定律(基尔霍夫第二定律,KVL)。基本概念支路:每个元件就是一条支路。串联的元件我们视它为一条支路。......
  • 剑指Offer题目笔记15(二叉搜索树)
    面试题52:问题:​给定一棵二叉搜索树,调整节点的指针使每个节点都没有左子节点。解决方案:​使用中序遍历,因为二叉搜索树是左节点的值小于等于根节点,根节点小于等于右节点的值,所以要是向使用每个节点都没有左子树,那么就需要先遍历左节点。源代码:/***Definitionfor......
  • 如何处理多个字符串拼接出最大最小结果问题
    如题,给出若干个字符串输出字符串拼接成的最小的结果则我们应当对其进行排序,排序的规则是,如果总共字符串为s1,s2,s3.且如果是s1+s2大于s2+s1则应该将s2排在s1的前面,来使得最终拼接成的总字符串最小。排列后为s2,s1,s3.如果s1+s3>s3+s1的话将s3排在s1的前面。然后再进行s2与s3的......
  • Spark重温笔记(三):Spark在企业中为什么能这么强?——持久化、Checkpoint机制、共享变量与
    Spark学习笔记前言:今天是温习Spark的第3天啦!主要梳理了Spark核心数据结构:RDD(弹性分布式数据集),包括RDD持久化,checkpoint机制,spark两种共享变量以及spark内核调度原理,希望对大家有帮助!Tips:"分享是快乐的源泉......
  • 当年明月《明朝那些事儿》读书笔记(二)
    最近一直保持着一周至少3小时阅读这本书,每次看一段时间后总有种恍如隔世的感觉,尤其是今天。确实,那些过去几年几十年的光阴,我在一个小小的方块上用几十分钟就看完了,自然会有一种时空上的恍惚。先说说最近读的,主要是讲王守仁。说实话,读这段时时常感到困惑,不知道王巡抚如何“格”遍......
  • (3)乾卦_学习笔记
    大象天行健,君子当自强不息。健:持久的运行不息:跌倒了爬起来从乾卦这里,先求自己。人是靠自己的,如果靠环境,那还学习干什么。一个人最了不起的,不是去控制别人,而是做一个好榜样。卦辞元元者,善之长也动机要纯正,不要随便开始,要谋定而后动,欲速则不达。元气是出生的一口气,要爱惜......
  • Docker学习笔记
    一个打包工具可以实现不同应用跨系统运行,同时通过它提供的隔离容器避免包、依赖冲突问题    Docker与虚拟机的区别......