
虚树
文章平均质量分 74
空灰冰魂
=NULL
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【BZOJ3611】【HEOI2014】大工程 LCA单调性 构造虚树
题解:虚树部分参见上一篇博客 然后DP部分随便乱搞就过了。 代码: #include #include #include #include #define N 1001000 #define LOGN 22 #define inf 0x3f3f3f3f #define INF 0x3f3f3f3f3f3f3f3fLL using namespace std; struct K原创 2015-01-09 17:53:58 · 1535 阅读 · 0 评论 -
【BZOJ2286】【SDOI2011】消耗战 LCA单调性(构建虚树)+树形DP
题解: 首先我们考虑每次都做一遍树形DP(树形DP自己脑补去,随便乱搞就过了)。 显然这是TLE无疑的。 所以可以利用LCA单调性构建虚树。 思想: 我们发现每次树形DP有很多点用不到,但是却需要被扫过,让他们见鬼去吧! 实现: 我们只对每次扫的图插入本次询问需要的节点,以及它们的LCA。 这样询问了m个点,虚树就至多只需要2m个点(so quick)。 而插入顺原创 2015-01-09 15:36:02 · 2345 阅读 · 0 评论 -
【BZOJ3879】SvT 后缀树+虚树
SVT什么意思? suffix virtual tree。 没有错!后缀虚树 好了,下面发一段以前的文字。 话说其实后缀数组分治能写,当时想shei了。 Vn: 啊,水题。 一看到“后缀”和这数据范围,肯定后缀数组、后缀自动机、后缀树走起! 然后我们可以轻松构造出来一个后缀树,然后每次询问树形DP随便乱搞就能过了。但是这个时候显然会TLE,所以我们可以尝试利用【原创 2015-01-17 16:52:01 · 2868 阅读 · 7 评论 -
【BZOJ3572】【Hnoi2014】世界树 虚树
题解: 首先构建虚树,然后在虚树上DP。 过程很简单。 先找出每个虚树节点 ii 旁边最近的询问节点 nearinear_i (因为有一些lca也被加入了虚树所以虚树节点不全是询问节点,呃怕你们不懂,但其实这是废话Qwq。) 然后对于每条链 [l,r][l,r],找出 [nearl,nearr][near_l,near_r] 中点,然后两边随便给一给就好了。。 代码: #inclu原创 2015-06-15 19:18:21 · 2464 阅读 · 0 评论