acwing148周赛
赛时困得睡着了
B题 https://www.acwing.com/problem/content/5562/
第二题赛事一直在想模拟加贪心,却发现非常难实现,我们需要转变思维,这时候一般有3种可能
双指针?二分?dp?
后来清醒了一点我们判断一个答案是不是合法很容易,我们再考虑答案求最大值,显然具有单调性,所以我们考虑二分答案,前缀和u优化判断
C题是个不错的题,本题需要动态建树在线回答直径,似乎只能用倍增,不能其他方法,所以还是要全能。
考察直径的性质,从一次改变入手
前置
思路
定理:
- 边权非负时,树的直径求法:任选一个点
,找到离它最远的点 ,再找到离 最远的点 ,则 是一条直径。 - 树上任意两点
间距离 ,其中 是 到根的距离, 是 两点的最近公共祖先。
性质:
若上一次树的直径是
- 若
,由于未添加节点前 到任何节点的距离小于等于 ,因此 到任何节点的距离最多比 到任何节点的距离多 ,因此 。不妨设此时 ,则 。由于 到任何节点的距离不可能超过 ,所以此刻 是一条新直径。同理,若 , 是一条新直径。 - 若
,则距离 最远的点是 ,且距离 最远的点是 ,因此 仍是直径。
时间复杂度:
debug:嵌套数组下标的中括号混乱,表示不仔细看根本看不出来
debug:数组开的大小应该是len+1,数组开小了,越界出发未定义行为
https://www.acwing.com/solution/content/236111/
参考题解
__EOF__

本文作者:爱飞鱼
本文链接:https://www.cnblogs.com/mathiter/p/18097818.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/mathiter/p/18097818.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话