码迷,mamicode.com
首页 >  
搜索关键字:bzoj2286    ( 25个结果
[bzoj2286][Sdoi2011]消耗战(虚树上的DP)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2286分析:对于普通的树形dp:f[x]=min(∑f[son],m[x]),其中f[x]表示以x为根的子树所有关键点全部断开所需要的最少代价,m[x]表示从根节点到x节点的路径上最短的边...
分类:其他好文   时间:2015-03-31 00:32:01    阅读次数:151
BZOJ2286 [Sdoi2011消耗战
一眼,这不是裸树形dp嘛~一阵猛敲,敲完发现多组询问。。。额,不会了。。。围观hzwer,发现这就是虚树嘛!咦、等等,虚树是什么?就是个神奇的东西啦!构建虚树及dp的复杂度都是O(k * 2)级别的,由于Σki 11 #include 12 13 using namespace std; 1...
分类:其他好文   时间:2015-01-27 21:42:42    阅读次数:151
BZOJ2286: [Sdoi2011]消耗战
题解:又是一个大坑。。。算法一:很明显,最小割。预计得分20分。算法二:每次做一遍树DP,预计得分40分。算法三:虚树+单调栈。算法三是为了优化算法二而出现的,因为关键点很少,而我们每次都要dfs整棵树过于浪费。而我们只把关键点和它们的lca拎出来。使得每个点要不是关键点,要不是lca用来汇总答案。...
分类:其他好文   时间:2015-01-17 23:25:42    阅读次数:343
【BZOJ2286】【SDOI2011】消耗战 LCA单调性(构建虚树)+树形DP
题解: 首先我们考虑每次都做一遍树形DP(树形DP自己脑补去,随便乱搞就过了)。 显然这是TLE无疑的。 所以可以利用LCA单调性构建虚树。 思想: 我们发现每次树形DP有很多点用不到,但是却需要被扫过,让他们见鬼去吧! 实现: 我们只对每次扫的图插入本次询问需要的节点,以及它们的LCA。 这样询问了m个点,虚树就至多只需要2m个点(so quick)。 而插入顺...
分类:其他好文   时间:2015-01-09 17:30:49    阅读次数:165
BZOJ 2286 SDOI2011 消耗战 倍增LCA+单调栈
题目大意:给定一棵树,边上有边权,m次询问,每次选定一些关键点,求将1号节点与所有关键点都切断所需的最小花销 关键点的总数 首先我们考虑暴力想法 令f[x]表示切断以x为根的子树中所有关键点的最小花销 g[x]表示x是不是关键点 那么对于x的每个子节点y有f[x]=Σmin(g[y]?INF:f[y],Distance(x,y) ) 这样每次暴力做一遍树形DP,时间复杂度是O(n*...
分类:其他好文   时间:2015-01-07 16:57:32    阅读次数:180
25条   上一页 1 2 3
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!