『树的直径、重⼼』Day10
Drazil and Morning Exercise
对于一段乱序序列,你不好求其中 max - min 的限制。
根据重心的性质,如果你让重心为 root,那么向下
这样,你就对每个点在末尾的情况,树上倍增找到最大的点,树上差分即可。
现在想到了好像可以线段树合并,那么你当前点就作为 min,直接在 ds 里面找一个 max 即可。
他们并查集怎么做的没看懂好像。
Weighed Tree Radius
转化:设
证明显然?因为中间路径上边权是 1,你一定可以调整使得 Root 在路径中间,否则肯定是只能选择
或者说,
所以定义一个广义直径即可,然后动态树直径即可,考虑维护直径端点。
树的重心
考虑每个点作为重心的次数。
式子很好推,注意到
而且你需要保证
首先
不妨先全局给
最后,对
Logistical Questions
求导来决定向哪里走,点分治保证复杂度。
晚测:NOIP2015 运输计划
一眼二分答案。
把长度满足的路径直接去掉,我们显然需要去掉剩下的所有路径的公共路径,并且取最大的一条。
包含所有路径可以树上差分判断,注意用 dfn 代替递归实现要快好几倍。还有,树剖求 lca。
Good Sequences (added on 8.21)
pudding monster 的加强版。
每次维护的是
合集:
NOIP2024 知识点复习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端