“科大国创杯”2023 年安徽省青少年信息学科普日活动 初中组 T4 题解

注意到对于全局最小值 x ,一旦我们可以合并它,我们一定会优先合并,因此 x 和与 x 相邻且更靠近起点的位置构成一个决策整体,定义为广义节点。

合并一个广义节点的贡献为 x×sz+c,然后会让 xx+a
考虑比较先后合并两个广义节点 x,y 的决策优劣,可以发现相当于比较广义节点平均值的大小。

考虑分开维护左右两侧,相当于每次将最小的 x 向起点合并,如果碰到起点就删去该块,然后会形成若干个块,考虑维护最终块的形态。

以左边为例,考虑从左向右扫描,尝试计算新加入一个数 x 对于局面的影响。

x 小于等于其左侧块的平均数,那么 x 会形成一个新的块。
x 大于其左侧块的平均数,则 x 会被合并到左边的块中。但是这次合并可能会造成这个块会被倒数第二个块合并,因此还需继续操作。

注意到数据随机,所以栈高不超过 O(logn),所以直接暴力做即可。

如果数据不随机,可以动态维护 f(x) 函数做到均摊 O(nlogn)

Upd:发现前半部分实际上是 [HNOI/AHOI2018]排列 的特殊情况。

posted @   pref_ctrl27  阅读(668)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示