UOJ #806. 【UR #25】见贤思齐
差点非常唐地写平衡树了(
首先考虑一棵树怎么做,其中根节点每次增加 。
记 表示 号点在 时刻的值,如果我们已经确定了 的函数,现在来考虑确定 的函数。
显然,第 个人第 天的值要在 区间内,其次,手玩一下可以发现,值就是 ,因此有 。
表现在函数差分值上,就是先将前面一段替换成 或者 ,然后插入一个 ,删除最后一个差分值。可以用线段树维护。
然后考虑在基环树上,我们发现环上最小值的点永远是最小值,因此其一直是 的,所以可以断环为链,然后就是树的情况了。
但是我们实际上是可以倍增的!这个过程可以看做一个初始值不断归入一些区间的过程,则我们从后往前找到第一个位置使得区间无交,就可以确定最后函数值是什么了,这可以用一个倍增实现,代码非常好写。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2022-06-30 BZOJ #3864. Hero meet devil
2022-06-30 luogu P4357 [CQOI2016]K 远点对
2021-06-30 luogu P4091 [HEOI2016/TJOI2016]求和