CF1344D 题解
题意
给定一个长度为 的数组 ,构造自然数数组 满足:
并最大化 。
。
题解
一道挺新颖的数学题,来记一下。
设 表示 。这是一个三次函数,比较难看。
使用一个常见的套路,设 。这样就变成了二次函数。
再对其求导,得到 。因为 ,故 是单调递减的。
结合 的实际意义,不难得出一个 的算法:动态加 ,用大根堆维护所有 ,每次取堆顶 ,将 自增。
更进一步,利用 的单调性,二分一个 ,对所有 求出满足 的最大 。判断 与 的大小关系即可。复杂度 。
其实也可以不用二分,因为 是只和 有关的二次函数,直接算就行了。复杂度 。
本文作者:realFish的博客
本文链接:https://www.cnblogs.com/fish07/p/16994402.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步