当前位置: 首页 > news >正文

[NOI2017] 蔬菜

洛谷 P3836

题意理解:注意不要看错题,每天都是固定 \(x_i\) 单位变质,比如今天结束坏掉 \(3\) 棵,但几天卖掉一棵,就相当于剩下的只坏 \(2\) 棵。可以结合样例解释理解。

每天有 \(x_i\) 坏掉其实不好处理,不如倒过来,每天加入 \(x_i\) 颗蔬菜。

这里有一个神奇地结论,前 \(p\) 天地最优决策一定被包含于前 \(p + 1\) 的。从贪心的角度上证明并不困难,因为第 \(p + 1\) 天能卖的,第 \(p\) 天一定能卖。但是如何发现的呢,就可以从模拟费用流的角度,建出图(横着一行是一种蔬菜,从左到右依次代表第 \(10^5, 10^5 - 1, \dots, 1\) 天),增广时按时间从小到大增广(也就是从右到左一列一列增广),因为 \(S, T\) 连的边不可能反悔(最短路不可能经过相同的点),所以可以得到。

img

于是我们只需要求出第 \(10^5\) 天的决策,然后从第一天开始每次取收益最大的 \(m\) 棵即可。

于是我们就从多次询问,转为单次询问,增广的顺序也就可以随心所欲了(因为本来是要正着从 \(1\) 开始增广的,表示前 \(p\) 天)。现在我们可以倒着增广(从第 \(10^5\) 天开始),就比较舒服。

每次加入当天的菜,显然是选取最大的 \(m\) 棵,因为这些菜后面一直能用。用堆维护可选的蔬菜种类及数量即可。

时间复杂度:\(O(nm \log n)\)

http://www.jsqmd.com/news/666614/

相关文章:

  • 别再乱用WaitForSingleObject了!手把手教你用Windows事件(Event)搞定C++多线程同步
  • 从Tracker失效到满速下载:我的私人BT网络优化笔记(附自动化更新脚本思路)
  • 车载网络诊断实战 - UDS协议篇 - 故障码(DTC)的解析与应用
  • 抖音下载器技术解析:双引擎架构与智能降级机制
  • 手把手教你用LAN9252和SPI接口,快速搭建自己的EtherCAT从站模块
  • Qt6实战:用setGeometry和事件过滤器,实现一个可拖拽调整大小的自定义控件(附完整源码)
  • 【AGI人类学第一课】:SITS2026圆桌首发“文明韧性评估量表”(含17维自测题),测出你在AGI浪潮中的真实坐标——前15%已启动神经接口预适应训练
  • ngx_cleanup_environment
  • 如何用猫抓浏览器扩展实现流媒体资源嗅探:从M3U8解析到批量下载的完整指南
  • OS——内存管理+程序加载
  • 2026年3月国内知名的电子汽车衡企业口碑分析,电子汽车衡/源头治超管理系统/装裁机自动累计秤,电子汽车衡直销厂家推荐 - 品牌推荐师
  • Function Calling 最佳实践:10个让代码质量提升10倍的工程技巧
  • 2026-04-18 模拟赛总结
  • 从SPI引脚别名到实战选型:当芯片手册上的SDI/SDO把你搞晕时,这份避坑指南请收好
  • 当芯片研发流程引入AI,我们需要这个checklist
  • 告别依赖地狱:用linuxdeployqt和dpkg为你的Qt应用打造一键安装的deb包(Ubuntu 20.04实测)
  • 基于FPGA与Matlab算法的超声多普勒频移解调系统:DDS生成信号、混合与滤波处理、FFT...
  • 微信在Linux上的默认数据目录
  • ILSpy终极指南:如何快速掌握.NET反编译神器
  • Manjaro新手避坑指南:从依赖缺失到签名错误,一次搞定所有安装报错
  • Tool之Jira:从零到一,构建高效敏捷团队的Jira实战配置与核心流程详解
  • 2026年宁波VBEAUTY科技美肤公司推荐榜/vbeauty美容店,vbeauty面部清洁,vbeauty面部补水,vbeauty面部肌底护理 - 品牌策略师
  • AGI物流决策引擎实测对比:传统TMS vs. 类脑调度系统,响应延迟下降83%,成本优化率达19.4%——数据来自顺丰、菜鸟闭门测试
  • CSS Grid布局如何实现项目水平垂直居中_掌握place-items属性的用法
  • 2019服务器IIS配置
  • Zotero-SciHub插件实战:学术文献自动获取的技术原理与实现深度解析
  • 英飞凌TC387 PMSM FOC电机控制Demo程序深度解析
  • FPGA数码管驱动避坑指南:从共阴共阳到分时复用,新手最容易搞错的5个点
  • 安全代码审查
  • OpCore Simplify:三步快速配置黑苹果的终极自动化工具指南