欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

树分治树链剖分相关题目讨论

发布时间:2024/9/5 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 树分治树链剖分相关题目讨论 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

预备知识

树分治,树链剖分

 

poj1741

•一棵有n个节点的树,节点之间的边有长度。方方方想知道,有多少个点对距离不超过m

题解

点分治模板题。详见我早上写的http://www.cnblogs.com/chouti/p/5836926.html

 

OrzFang Ⅸ

•有一棵n个点,边长为1的树,他要在树上选择一个大小为m的点集,使得这m个点两两距离相等。

方方方想知道这么做的方案数对998244353取模后的结果。

题解

首先肯定有一个中心点,使得这个点到m个点距离相等

那么枚举这个中心点,枚举距离,注意一个子树最多贡献一个点在点集,类似背包的统计方式合并一下。复杂度目测是大概

 

 

OrzFang X

•方方方有一棵n个点的树,每个点点权初始为0。你需要维护m个操作,每个操作为路径加,子树加,路径求和或子树求和。

题解

这题树剖肯定能做,做法类似NOI2015D1T2软件包啥的

每条重链用个线段树

子树修改视作修改一段编号连续的重链‘

路径修改就是修改和路径相交的重链

事实上,子树修改-路径求和这种可以不用树剖,对dfs序建线段树可以更好的解决

 

 

OrzFang XI

•方方方有一棵n个点,边长为1的树。他想知道,有多少个点对距离为质数。

题解

codechef PRIMEDST

类似poj1741的点分治,合并递归的结果的时候套上FFT

转载于:https://www.cnblogs.com/chouti/p/5837997.html

总结

以上是生活随笔为你收集整理的树分治树链剖分相关题目讨论的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。