![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优化
谭xl老司的炮兵
这个作者很懒,什么都没留下…
展开
-
点分治。。。。。
点分治,就是在树上分治,讲得很高大上。。。。。。。。实际上就是findroot,answer两个操作;根据分治的处理方法:分成若干个子问题因此,在每次dfs都要查找root;据说这样就是优化。。。。原创 2017-02-07 11:53:47 · 213 阅读 · 0 评论 -
树型DP
树型DP不同于普通的的DP之处在于:通过递归找出儿子的信息,在回溯的过程中DP,计算结果(似乎很像记忆化搜索。。。。。。)然后处理相关信息,回答询问》》》》》》》经典应用:点分治中求重心,树链剖分中求重儿子,等等。。。。。。。。。原创 2017-02-08 21:15:19 · 295 阅读 · 0 评论 -
树链剖分
定义: siz[]数组,用来保存以x为根的子树节点个数top[]数组,用来保存当前节点的所在链的顶端节点hson[]数组,用来保存重儿子drep[]数组,用来保存当前节点的深度fa[]数组,用来保存当前节点的父亲id[]数组,用来保存树中每个节点剖分后的新编号两遍dfs求出以上信息,连边成重链,按照新的编号建树(有的题目这一步可省略);剩下全是线段树的操作查询或修改原创 2017-02-10 08:38:05 · 261 阅读 · 0 评论 -
离散化初步
离散化初步:离散化对于处理数据值较大,数组无法存储,而值又与所求结果关系不大时有妙用这里利用系统标准模板库STL实现,考场上建议用STL,手写会很麻烦的。。。。。。。。。1.sort(a,a+n)排序。。。。这个不用说2.unique(a,a+n)去重,返回最后那个完成去重的点的位置,好像是地址,所以减一个a;3.lower-boud(a,a+n,x)返回a[0]-a[n-原创 2017-02-04 22:21:20 · 512 阅读 · 0 评论