随笔分类 - 数据结构------树剖
摘要:先化边权为点权,然后二分答案mid check的时候对于每一个mid,我们把长度超过mid的路径标记一下然后按点差分一下 假设最长的路径长度是maxn,有num条路径的长度大于mid,那么显然删掉的那条边需要贡献的次数也必须为num,否则必然会至少有一段仍然大于mid 如果maxn减去删掉的那条边还
阅读全文
摘要:好吧这其实应该不是树剖... 因为只要求子树就够了,dfs就好了 大概就是记录一个全局根root 多画几幅图会发现修改时x,y以root为根时的lca为以1为根时的lca(x,y),lca(root,x),lca(root,y)中深度最大的一个 然后就可以做了 然后分类讨论当前更改操作节点x(更新即
阅读全文
摘要:竞赛课想找一道水一点的tarjan题,看看这么久没做题手感有没有掉... 结果这题貌似不是tarjan啊...应该是LCA...假的标签!! 一遍过样例+一遍AC祭(好吧这么水的题也没啥好开心的) 大概就是给一棵树,和两条路径,判断两条路径有无公共顶点。 随便画一棵树,然后会发现,两条路径有公共部分
阅读全文
摘要:来一发大暴力 树链剖分无疑了 对于某个询问节点,二分答案所在的深度,若该深度到该节点上的区间和 0,说明其中有满足条件的点,增加深度继续二分,否则减小深度 线段树上的操作:单点修改+区间查询(区间和) 关于时间: 时间复杂度$O(nlog^{2}n)$ 虽然不是最优解法,但能过了,稍微卡一下,总时间
阅读全文
摘要:这里就不写具体实现了...只是为刚看懂什么是树链剖分的同学提供习题 其实树剖部分都差不多的,关键是线段树 可以把这里面5题A了大概就可以熟悉树链剖分了... T1:LuoguP3384 【模板】树链剖分 都说了是模板,那就是模板咯... 考虑线段树实现 区间加、区间和,又是线段树模板... 树剖跳的
阅读全文
摘要:***题目链接戳我*** 又是在树上瞎搞滴题目.... 我们如果以安装的软件为1,未安装的软件为0,那么软件改变的数量即树上权值总和的数量,涉及到区间修改,区间查询,考虑树剖 分析完毕,似乎没啥好说的了。。。树剖模板题(然鹅我是不会告诉你们我因为把int打成char查了好久好久代码滴...) 细节问
阅读全文

浙公网安备 33010602011771号