考试10.2
Posted xwww666666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考试10.2相关的知识,希望对你有一定的参考价值。
1>保卫王国
一棵树,有点权,
树上一条边上要求至少一个点被选,
现在有好多个询问,要求一个点被选,或者没有被选
求问每个询问的最小代价
(1)很明显的树形dp,
简单的暴力,对每次询问,求一次dp,用dfs
复杂度O(nm)
前11个点,44分
(2)优化dp
因为m优化不得,离线也没什么用,
所以,估计最终的复杂度应该是O(mlogn)
再画一棵树,发现每次影响的其实只有x到y这一段中的dp,
(当然相邻节点有一点...影响)
我们把要更新的部分分成三部分:
设两个点为u,v,t=LCA(u,v)
三部分为:
1.从u到t
2.从v到t
3.从t到root
设f[0/1][0/1][i][u ]表示u不选/选,u往上跳2^i步的祖先不选/选时,从u开始dp到那个祖先的答案。
(倍增维护)
以上是关于考试10.2的主要内容,如果未能解决你的问题,请参考以下文章