CF2051E 题解
CF2051E 题解
赛时D +7 卡一个多小时,E读错半小时题,比赛完了才发现。估计是今年干出来的最抽象的事情之一。
实际上时间足够也不一定能够在场上做出来E,我感觉这是一道很妙的转化。
题意
每个人有
现在给定一个
分析
很显然是不具有单调性的,所以二分价格或者是差评人数之类的是行不通的。
转化1
要明确的两点是:
1.如果最后一个价格没有被任何区间包含,那完全可以把它提高到离他最近的一个
2.如果说有一个价格被包含了,不在
所以综上所述,最优答案的价格仅可能在端点处取,只用枚举每个端点就可以了。
转化2
对于每个价格,又该怎么计算会购买的人数,和会给差评的人数?
会购买的人数很好计算,就是满足
给差评的人数可以抽象成如下问题,给出坐标轴上一个点,问在若干条线段里,有多少条包含了该点,如下图。
在所有会购买,也就是右端点在红线之后的线段中(记有
这一个过程可以直接分别对于
本文来自博客园,作者:Hanggoash,转载请注明原文链接:https://www.cnblogs.com/Hanggoash/p/18623210
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!