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

【未完工题解】P14636 [NOIP2025] 清仓甩卖

link

壹:不合法情况

定义 \(W=1\) 的物品为一类物品,\(W=2\) 的物品为二类物品
不合法当且仅当,存在一类物品 \(x\) , \(z\) ,二类物品 \(y\)
对性价比降序排序有 \(x...(y)...z < (x)...y...(z)\) 的总收益
这种情况仅在购买 \(x\) 后总花费为 \(m-1\) 时出现

贰:计数

我们对不合法情况计数,然后用总方案减去它
首先对 \(a\) 降序排序
我们只需要考虑三个关键点 \(x,y,z\) 它们之间满足 $x<y<z \land 2a_y>a_x \land a_z<a_x-a_y $
此时数轴划分为若干段,有

定义 \(E(x,y)\) 表示已知 \(x,y\) 的情况下 \([1,y]\) 范围的非法情况个数
对于 \([1,x-1]\) 段,设二类物品有 \(p\) 个,则花费为 \(x-1+p\)
对于 \([x+1,y-1]\) 段,设一类物品有 \(q\) 个,则花费为 \(q\)
此时有 \(1+x-1+p+q=m-1\) 化简得到 \(p+q=m-1-x\)

要在 \(y-2\) 个物品中选出 \(p+q=m-1-x\) 个特殊物品,情况有 \(E(x,y)=\binom{y-2}{m-x-1}\) 种情况

接下来我们要拼接上z
一种显然的想法是枚举z的位置,然后求 \(E* \sum_{z=y+1}^{n} 2^{n-z-1}[a_z<a_x-a_y]\)
全部拼一块有 \(\sum_{x=1}^{n}\sum_{y=x+1}^{n}\binom{y-2}{m-x-1}\sum_{z=y+1}^{n}2^{n-z-1}[2a_y>a_x \land a_z<a_x-a_y]\)
容易发现 \(a_z\) 的下界随 \(a_y\) 的上界变小而变大 ,即 \(z\) 随着 \(y\) 右移而左移,双指针优化一维
复杂度 \(O(n^2)\)

参:代码

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

相关文章:

  • Android NFC开发避坑指南:从权限配置到HCE支付实战(附完整代码)
  • EcomGPT-中英文-7B电商模型内网穿透部署方案:安全访问本地模型服务
  • FaceFusion镜像部署全攻略:开箱即用,轻松开启换脸之旅
  • 如何用60元的消费级IMU实现车载组合导航?SINS/NHC实战解析
  • VSCode通过Remote SSH连接Windows 7的兼容性挑战与解决方案
  • Ubuntu 22.04 下 Nginx 如何一键搞定 Let‘s Encrypt 证书?附自动续期脚本
  • BabelDOC终极指南:如何完美翻译PDF学术论文并保持原格式
  • 2025卡膜厂家Top10排行实测分享
  • 超级千问语音设计世界效果展示:听听这些用文字描述生成的惊艳语音
  • OpenAI Agents SDK避坑指南:常见问题与解决方案全解析
  • FPGA资源优化指南:use_dsp48和SIMD模式在Vivado中的实战技巧
  • 律所案件卷宗协作难泄露风险高?企业网盘选型必须知道的 3 个红线(含 5 款主流网盘实测)
  • 手把手教你用cesium-plot-js实现军事标绘图形回显(避坑指南)
  • 版本控制系统迁移指南:从SVN到Git的平滑过渡方案
  • 知网AIGC检测算法升级后怎么降AI率?2026最新降AI率方法全面解读
  • 从ResNet50到自定义CNN:手把手教你用TensorFlow训练自己的12类果蔬识别模型(Python实战)
  • Dify自动补全背后的秘密:如何用GPT-4和Llama提升意图识别准确率
  • OpenClaw+GLM-4.7-Flash:个人旅行计划自动生成与优化
  • 【从零开始】手写BLE协议栈(2-3)带着镣铐跳舞:nRF52 的 TIFS 硬件实现
  • 在eNSP中构建高可用网关:VRRP主备切换实战解析
  • 这家口腔机构,如何用AI把到院成本从1200+打到310元?
  • OpenClaw任务编排:Qwen3.5-4B-Claude复杂工作流设计指南
  • 别再纠结选哪个了!从零到一,手把手教你用Odoo 18的ORM快速搞定一个客户管理模块
  • 脑机接口数据集处理知识体系重构:从信号解码到临床转化
  • RePKG深度解析:Wallpaper Engine资源格式转换与逆向工程实战
  • 树莓派Pico RP2040 I2C实战:用AT24C02 EEPROM做个数据掉电保存的小项目
  • STM32实战:从零移植SOEM构建轻量级EtherCAT主站
  • FaceFusion实战指南:从零搭建超逼真换脸系统,解锁AI人脸编辑新玩法
  • 别再只跑Demo了!手把手教你用自建数据集训练YOLOv8垃圾检测模型(从数据标注到模型部署)
  • 终极指南:如何让普通鼠标在Mac上实现触控板级体验