【题目分析】 斯坦纳树=子集DP+SPFA? 用来学习斯坦纳树的模板。 大概就是用二进制来表示树包含的点,然后用跟几点表示树的形态。 更新分为两种,一种是合并两个子集,一种是换根,换根用SPFA迭代即可。 【代码】 ...
分类:
其他好文 时间:
2017-01-23 20:10:14
阅读次数:
169
Description Input 第一行有两个整数,N和 M,描述方块的数目。 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该方块为一个景点;否则表示控制该方块至少需要的志愿者数目。 相邻的整数用 (若干个) 空格隔开,行首行末也可能有多余的空格。 第一行有两个整数,N和 M, ...
分类:
其他好文 时间:
2017-01-21 00:45:42
阅读次数:
319
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2595
思路:斯坦纳树
斯坦纳树问题就是给你n个点的图,点或边上有权值,有k个点是关键点
求使k个关键点联通且权值和最小的方案
我们知道最后的结果一定是一棵树
DP状态就是f[i][j]表示以i为根,关键点联通性为j(一个二进制数,1为以联通,0为未联通)
那么转移有两种
枚举子...
分类:
其他好文 时间:
2016-05-13 01:17:52
阅读次数:
194
题解:斯坦纳树,实现神马的在代码里面有还看得过去的注释。
代码:
#include
#include
#include
#include
#include
#define N 15
#define inf 0x3f3f3f3f
using namespace std;
const int dx[]={0,0,1,-1};
const int dy[]={1,-1,0,0};
stru...
分类:
其他好文 时间:
2015-01-09 21:02:35
阅读次数:
174
题目大意:给定一个矩阵,有一些关键点,每个格子有权值,选择一些格子使所有关键点连通,求最小权值和
传说中的斯坦纳树- - 感觉不是很难理解的样子
枚举连通的状态,对于每个状态先对每个位置枚举子集进行合并,然后对这个状态的分层图进行SPFA
看了几分代码还是ZKY写的比较简洁- -
此外就是终于能通过操作符重载访问结构体里的三维数组了- - 我真是太丧病了233
#include
#in...
分类:
其他好文 时间:
2015-01-08 13:30:32
阅读次数:
157
Orzzky神犇http://blog.csdn.net/iamzky/article/details/42029921spfa的灵活应用!(好像是求了一个叫做斯坦纳树的东西……)o(︶︿︶)o 唉我就是太水了,离散化写跪了,x*1e5+y*1e4+k,但是这题里我x和y的范围是[1,10]所以在y...
分类:
其他好文 时间:
2015-01-02 22:17:12
阅读次数:
278
麻麻问我为什么跪倒在地这么高端的求法!!!spfa优化DP。。。等等,斯坦纳树的求法是DP?还是状压DP!Σ( ° △ °||)蒟蒻彻底跪了,还是Orz hzwer吧2333 1 /**********************************************************....
分类:
其他好文 时间:
2014-12-30 23:22:22
阅读次数:
280
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2595题意:给出一个数字矩阵。求一个连通块包含所有的数字0且连通块内所有数字之和最小。思路:对于每个格子,是0则必须要选。那么对于不选的格子(i,j)在什么时候可以不选呢?必须同时满足以下两...
分类:
其他好文 时间:
2014-06-23 08:02:51
阅读次数:
317