纪念一下本人在校模拟用线段树优化dp单杀*900。
最小和最大没有本质区别,这里只讨论最小的情况。
设 表示前缀 的答案,显然是要枚举 使得 合并成一段:
其中 。
想办法把 的贡献拆开,再用数据结构优化转移。
显然有 ,对于下取整,我们有广为人知的结论:
证明也很简单,对于三种不等关系讨论一下即可。
两者结合一下:
把所有 离散化,用线段树优化转移即可。submission
存在平凡的构造使得权值为零: 向其他点连 的边,任意 向 连 的边。
几条显而易见的性质:
- 不能向 的 连负权边,否则 ,不满足最短路的限制。
- 最多向 的 连权值为 的边,否则出现负环(不满足最短路限制)。
因此,我们得到了答案的下界:
那么是否存在一组构造能达到下界呢?
将 排序, 向 连 的边,所构成的一条链显然满足初始限制。
每个 对于 连 的边,一定不会出现负环,且始终满足最短路的限制,这样就达到了下界。
submission
把第一次染色的颜色作为根,枚举根,对每种情况分别求一下答案,最后除以 (第一步是等概率的)。
考虑 对整棵树的贡献 ,设 。
当 未被染色时,局面可以是任意的;当 都已经染色后,局面也可以是任意的。
全局的概率是 ,不对 产生影响,只要考虑 被染色到 被染色之间的这一过程。
我们称 简单路径上的点是关键的。
一旦 被染色,每次操作染色集合有 的概率向 逼近一步, 的概率向 逼近, 的概率选择非关键点。
注意每次操作的 可能不同,但向 逼近的概率始终相同(等概率)。
设 表示 要向 逼近 步,向 逼近 步,最后 出现在 之前的概率。
。submission
设 内有 个元素小于 , 个元素等于 , 个元素大于 。
设中位数为 :
时一定有 , 时同理,等于时两者取 max:
对这两部分分别计算。
对于第一部分,设新数组 满足: 当且仅当 ,否则 。
忽略整除 的部分,所求即 。
不妨以 为中心分两部分考虑:,前一部分即前缀 的最大后缀,后一部分为后缀 的最大前缀。
线段树维护某个区间的最大前后缀。
按照 顺序更新答案,初始 全为 ,每碰到一个新的 就将对应位置修改成 ,时间复杂度 。
submission
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端