2023大厂真题提交网址(含题解):
www.CodeFun2000.com(http://101.43.147.120/)
最近我们一直在将收集到的机试真题制作数据并搬运到自己的OJ上,供大家免费练习,体会真题难度。现在OJ已录入50+道2023年最新大厂真题,同时在不断的更新。同时,可以关注"塔子哥学算法"公众号获得每道题的题解。
问题前言以及历史:转OI WIKI
问题定义:
给你一张图,问你必须连通 k k k个关键点的最小边权和花费.
n , m ≤ 100 , k ≤ 10 n,m \leq 100 , k \leq 10 n,m≤100,k≤10
最小生成树是最小斯坦纳树的一种特殊情况. k = n k=n k=n.
问题解决:
使用状态压缩dp解决此问题。这之前,需要知道一个结论:答案一定是一棵树.
反证:假设有环,我们可以显然可以破环而不破环连通性。所以结果一定是树。
那么令: d p ( i , s ) dp(i,s) dp(i,s)代表以 i i i为这棵树的根,且集合 s s s的点已经被这棵树连通的最小代价。
转移方程:
第一种情况:由它的儿子整个转移给他的: d p ( s , j ) + w ( j , i ) → d p ( s , i ) dp(s,j)+w(j,i) \rightarrow dp(s,i) dp(s,j)+w(j,i)→dp(s,i)
如下图关键点