恋爱入门教学题解
恋爱入门教学
题目背景
HF 学会了说唱,夺得了中国第一男高的称号,迷倒了万千迷妹收获了大笔的金钱。
他广撒网广交友,交到了许多卡哇伊的 npy,可是麻烦随之而来。
题目描述
每一个 npy 对 HF 都有一个好感度 (下文简记为 )。而 HF 秉持着公平的原则,对于每一个 npy 的好感度 是一样的。于是,好感的不对等会造成一定的麻烦。
每一个 npy 都有一个麻烦率 (下文简记为 ),如果是纠缠,那么 为正,如果是冷漠,则 为负。或许可能是真爱,有的 npy 的 为 。
但是与每一个 npy 相处会有一个基础的麻烦度 ,由于也可能是帮助,所以 可能小于零。
HF 为了不让自己爆炸,所以想要最小化 HF 的麻烦度。
由于朋友是一个一个交的,所以他每交到一个 npy 就需要调整自己的 以减少麻烦。
形式化来说,就是对于 ,最小化:
输入格式
第一行一个数 表示 npy 的总个数。
接下来 行,每行三个整数 。
含义见题目描述
输出格式
一行 个数,误差在 以内则视为正确。
数据规模
对于 的数据 。
特殊性质:
- A:保证
测试点编号 | 特殊性质 | |
---|---|---|
无 | ||
A | ||
无 | ||
A | ||
无 | ||
A | ||
无 |
题解
T4 love
整理式子:
Sol 1
首先考虑绝对值是个凸函数的性质:凸函数 + 凸函数 = 凸函数
。可以发现,所求函数满足两段单调。
所以我们可以三分 然后 算出最终答案。
复杂度 期望得分 。
三分瓶颈在于求出最终答案,考虑如何优化。
我们把绝对值拆开分段考虑。
当 时,与 时贡献不一样,考虑将函数按照 排序,将函数相加(对 和 做前后缀和,利用数据结构维护)
所以可以二分断点,以此求出答案。
注意 的情况。
复杂度 ,期望得分 。
sol 2
先考虑特殊性质。
不难发现,可以转化为最小化数轴上一个点到其他点的最小距离。
这应该给了很多提示。所以这一部分可以通过 heap
水过。
实测,其实利用堆可以过大部分数据,只是这复杂度……
期望得分:
利用绝对值,强制使得 ,同时也改变 的符号,可以得到类下的式子:
于是相当于在数轴上 的位置放 个点。求 到这些点的最小距离。
而如果要最小化距离,那么显然是在中位数的位置。
所以考虑使用平衡树维护中位数,以及 前缀和,求解距离即可。
同时,也可以考虑离散化,在线段树或者树状数组上二分可以做到 。
期望得分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App