
动态规划-斯坦纳树
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 3205 & UOJ 107 [APIO2013]ROBOTS
斯坦纳树DP。f[i][j][x][y]表示i~j的机器人合并后移动到坐标(x,y)的最小花费。类似区间合并的转移方式+SPFA即可。这题非常坑,居然卡常数。。。 正常的Subtask都可以轻松通过,但是死活过不了一些Extra Test。 搞了一两天的常数,终于A了QAQ#include<cstdio>#include<queue>#include<cstring>#include<al原创 2016-09-03 17:42:49 · 566 阅读 · 0 评论 -
BZOJ 4006 [JLOI2015]管道连接
斯坦纳树DP。首先记f[i][sta]f[i][sta]表示经过节点ii,节点状态为stasta的最小花费,进行斯坦纳树DP再记g[s]g[s]表示颜色状态为ss的最小花费,注意是颜色状态,每一位表示一个颜色集合,那么g[s]g[s]可以从f[i][sta]f[i][sta]在O(p∗2p)O(p*2^p)的时间转移过来(为什么我的复杂度是这个可以研究一下代码- -)显然直接用g[2p−1]g[2^原创 2016-08-13 17:11:31 · 458 阅读 · 0 评论 -
BZOJ 2595 [Wc2008]游览计划
斯坦纳树DP。 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小 ——百度百科我是从这里学习的orz: http://www.cnblogs.com/lazycal/archive/2013/08/31/bzoj-2595.html上文中提到斯坦纳树D原创 2016-08-12 16:58:30 · 457 阅读 · 0 评论 -
BZOJ 4774 修路
斯坦纳树DP斯坦纳树经典DP方程:f[s][i]f[s][i] 表示当前需连通点的连通情况至少为ss,且路径上一定经过点ii的代价。为什么说是至少为ss,因为可能方案里的路径经过了别的点,然而在当前状态下我们只考察这ss个点,所以可以忽视别的点。经典的两步转移:f[s][i]=f[s′][i]+f[s−s′][i](无条件)f[s][i] = f[s'][i] + f[s-s'][i](无条件)f[原创 2017-04-27 23:28:00 · 541 阅读 · 0 评论