考虑枚举卖出的物品个数\(i\),把\(b_i\)从大到小排序。

题目的某人会买物品的条件转化为\(b_i\geq p_j-c_j\),这说明卖出的物品的集合是排序后\(b\)的一段前缀,且卖出\(i\)个物品,\(p_j\)的最大值是\(b_i+c_j\)

所以该情况的价值是\(i*b_i+i*c_j\),令\(i*b_i=d_i\)

对于每个\(i\),我们要求\(d_i+i*c_j\)的最大值。这相当于若干条直线\(y=d_i+x*c_j\),要求\(x=i\)的最大值,使用半平面交维护即可。

最新文章

  1. scrapy爬虫docker部署
  2. JAVA基础培训(isoft)
  3. Jmeter报告优化之New XSL stylesheet
  4. adb permission denied
  5. Android星星评分控件RatingBar的使用
  6. Android SDK Manager更新不了的解决办法
  7. cocos2dx中的菜单项CCMenuItem及其五个子类的使用
  8. javascript eval和JSON之间的关系
  9. [Swift]LeetCode1033. 移动石子直到连续 | Moving Stones Until Consecutive
  10. 从零学习Fluter(七):Flutter打包apk详解
  11. 10元买啤酒问题Java解法
  12. [Python设计模式] 第20章 挨个买票——迭代器模式
  13. 第三个Sprint冲刺第六天(燃尽图)
  14. c++11 线程
  15. quartz延迟执行一次
  16. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误几种解决方案
  17. IO之间的比较
  18. day3之文件操作
  19. PyCharm配置SFTP远程调试Django应用
  20. windows上安装db2 spatial extender和ArcSDE的问题

热门文章

  1. 记一次SpringBoot整合WebSocket 找不到ServerEndpointExporter类的问题
  2. Lucky Chains(最大公约数的应用)
  3. idea-lombok使用
  4. vue项目使用vue-amap调用高德地图api详细步骤
  5. 在centos环境下利用docker安装kail
  6. ubuntu下升级gcc11环境
  7. chrome 检查更新时出错:无法启动更新检查(错误代码为 4: 0xA0430817 -- system level)
  8. docker指令 —— MySQL一条龙服务
  9. C语言中局部变量和全局变量关于释放
  10. CAM更改起始直径为直径