斯坦纳树。 $f[i][j][s]$ 表示当前 $(i,j)$ 覆盖关键点的状态为 $s$ 的最小代价。 $f[i][j][s]=\min(f[i][j][s],f[i][j][s\ {\rm xor}\ t]+f[i][j][t] a[i][j])$ $f[i+{\rm dx}][j+{\rm d ...
分类:
其他好文 时间:
2020-01-18 12:41:14
阅读次数:
65
斯坦纳树 就是一个很暴力的东西。考虑要做最小生成树,其中一些点必须选,一些点可选可不选。必选点比较少,可以用状压维护。 按照状压状态从小到大更新,每次先枚举子集更新自己,再跑最短路更新全局。 复杂度$O(n 3^n)$,感觉特弱智。 WC2008 游览计划 .jpg) 对于100%的数据,N,M,K ...
分类:
其他好文 时间:
2019-08-20 21:57:23
阅读次数:
105
题目链接 题意 给定一个 $N \times M$ 的网格图,每个格子与四个方向上相邻的格子联通,其中有 $K$ 个点是景点。非景点格子有正点权 $A_{i,j}$,你需要选择一些格子使得所有景点联通,求最小点权和并输出选点方案。 数据范围 $N,M,K \leq 10$ 分析 我怀疑我在水博客,但 ...
分类:
其他好文 时间:
2019-08-19 19:27:01
阅读次数:
65
Pre 作为斯坦纳树的第一道题 Solution 以每一个格子建立点,然后直接跑斯坦纳树就可以了。 code cpp include include include include include include define ll long long define xx first define ...
分类:
其他好文 时间:
2019-08-17 10:32:17
阅读次数:
72
"嘟嘟嘟" 都说这题是斯坦纳树的板儿题。 斯坦纳树,我也不知道为啥起这么个名儿,斯坦纳树主要用来解决这样一类问题:带边权无向图上有几个(一般约10个)点是【关键点】,要求选择一些边使这些点在同一个联通块内,同时要求所选的边的边权和最小。(摘自兔哥博客) 但说白了就是一种状压dp。令$dp[i][j] ...
分类:
其他好文 时间:
2019-04-28 15:45:05
阅读次数:
114
"[Luogu4294]" "题解 : 斯坦纳树" $dp[i][j]$ 表示以$i$号节点为根,当前状态为$j$(与$i$连通的点为$1$) 当根$i$不改变时状态转移方程是: $dp[i][j] = \min_{s \in j}\{dp[i][s] + dp[i][\complement_js] ...
分类:
其他好文 时间:
2019-03-23 16:17:15
阅读次数:
149
斯坦那树 百度释义 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。 即最小斯坦那树即为并非选择所有的结点,而是选择一部分结点,为保证它们连通,且求解最小开销 ...
分类:
其他好文 时间:
2019-01-28 10:56:53
阅读次数:
211
题目描述 题解: 这道题是斯坦纳树的典型例题。 首先看一眼数据范围发现$10$的范围不状压对不起出题人,然后考虑转移。 设$f[i][j][s]$表示当前在点$(i,j)$,覆盖特殊节点状态为$s$的最小花费。 转移有: 1.$s$不变,此时有$f[i][j][s]=min(f[i'][j'][s] ...
分类:
其他好文 时间:
2019-01-02 10:35:12
阅读次数:
192
斯坦纳树是在一个图中选取某些特定点使其联通(可以选取额外的点),要求花费最小,最小生成树是斯坦纳树的一种特殊情况 我们用dp[i][j]来表示以i为根,和j状态是否和i联通,那么有 转移方程: dp[i][j]=min(dp[i][s]+dp[j s] a[i][j]) (表示有两个状态s和j s都 ...
分类:
其他好文 时间:
2018-07-21 14:55:07
阅读次数:
143
Description Input 第一行有两个整数,N和 M,描述方块的数目。 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该方块为一个景点;否则表示控制该方块至少需要的志愿者数目。 相邻的整数用 (若干个) 空格隔开,行首行末也可能有多余的空格。 第一行有两个整数,N和 M, ...
分类:
其他好文 时间:
2018-05-01 20:29:05
阅读次数:
160