随笔分类 -  数据结构------树剖

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

/*去广告*/