码迷,mamicode.com
首页 >  
搜索关键字:lca单调性    ( 4个结果
BZOJ 3879 SvT 后缀树+虚树
题目大意:给出一个字符串,给出一些询问,每次问几个后缀两两之间的LCP之和。 思路:保证Σask数量级在O(n)上,可以考虑一下虚树了。建立虚树之后,这题就和差异那个题一样了。但是必须要打时间戳啊,要不死的很惨的啊。。 CODE: #include #include #include #include #define MAX 1000010 using names...
分类:其他好文   时间:2015-01-19 19:12:37    阅读次数:151
BZOJ 3611 HEOI 2014 大工程 LCA单调性
题目大意:给出一棵树,每次询问一些节点,当把这些节点连接起来,使得每两个询问的点之间有一条边,共有k*(k - 1)条边。问这些边中,长度的总和是多少,最短的一条边是多少,最长的一条边是多少。保证询问的点的总数是O(n)级别。 思路:利用LCA单调性,每次询问的时候重新建树,在这棵树上做DP,使得总体时间复杂度降到O(nlogn)。 树形DP我写的都要麻烦死了。。听了正解之后简直想吐血...
分类:其他好文   时间:2015-01-09 17:34:40    阅读次数:274
【BZOJ2286】【SDOI2011】消耗战 LCA单调性(构建虚树)+树形DP
题解: 首先我们考虑每次都做一遍树形DP(树形DP自己脑补去,随便乱搞就过了)。 显然这是TLE无疑的。 所以可以利用LCA单调性构建虚树。 思想: 我们发现每次树形DP有很多点用不到,但是却需要被扫过,让他们见鬼去吧! 实现: 我们只对每次扫的图插入本次询问需要的节点,以及它们的LCA。 这样询问了m个点,虚树就至多只需要2m个点(so quick)。 而插入顺...
分类:其他好文   时间:2015-01-09 17:30:49    阅读次数:165
BZOJ 2286 SDOI 2011 消耗战 LCA单调性
题目大意:给出一棵有根树,n组询问,每一组询问给出树上的一些关键点,问割掉一些边使得根与这些点不联通的最小花费是多少。总询问的点不超过O(n)。 思路:基础思路是每一次询问做一次O(n)的DP,这本来已经够快了,但是有很多询问,这样做就n^2了。注意到所有询问的点加起来不超过O(n),也就是说每次询问的点可能很少。那么我们为何要将所有点扫一次?只需要将询问的点重新建树,然后跑树形DP,这...
分类:其他好文   时间:2015-01-08 09:40:04    阅读次数:480
4条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!