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

[NOI2010] 超级钢琴

[NOI2010] 超级钢琴 - 洛谷P2048

第一个想法是类似 CF241B(因为刚做的),二分第 \(k\) 大的超级和弦的大小,计算数量,最后求和。check 应该可以离散化后树状数组解决,求和同理。时间复杂度:\(O(n \log V \log n)\)。大概率可以通过。

但这个题有更优秀的做法。观察到 \(k \le 5\times10^5\),而上面那个题 \(m\) 直接拉满了。实际上我们可以一个一个贪心的取出来。

具体的,我们令 \(F(x, l, r)\) 表示左端点为 \(x + 1\),右端点在 \([l, r]\) 时的和弦美妙度最大值。\(F(x,l, r) = \max\limits_{i = l}^r \{ s_i \} - s_x\)(其中 \(s\) 为前缀和数组),使用 ST 表可以 \(O(1)\) 求解。

我们每次使用优先队列找到最大的 \(F(x, l, r)\),把他挑出来就行了。假设对应的右端点下标为 \(p\),再把 \(F(x, l, p - 1), F(x, p + 1, r)\) 在加进去即可。

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

因为 \(k\) 只有 \(5 \times 10^5\) 的特殊性,可以暴力一个一个挑出来,运用了一个经典的使用优先队列的小 trick 贪心。

实际上前面那个题也可以这样做,配合可以持久化 01 tire 搞出一个 \(O(m (\log n + \log V))\) 的做法。

http://www.rkmt.cn/news/125128.html

相关文章:

  • 2025非标定制复合机床生产厂家场景适配性解析 - 栗子测评
  • 开源AI如何加速你的职业生涯
  • 2025天镜灯驱动芯片厂家实力测评推荐 - 栗子测评
  • 2025B2B外贸独立站SaaS系统哪家好?深度测评推荐 - 栗子测评
  • 完整教程:论文笔记(一百零三)π0.6 : a VLA That Learns From Experience(二)
  • 京东多智能体挑战赛个人贡献博客
  • 深入解析:C重要库函数实现
  • 小程序/uniapp使用阿里云serverless进行oss客户端签名直传实践
  • CF241B
  • 蒟蒻入园
  • Level 6 → Level 7
  • 题解:qoj15502 字符串问题
  • P10217 [省选联考 2024] 季风 题解
  • 测试文章
  • 差分电压采样
  • [WC 2016] 论战捆竹竿
  • 12/19
  • 实验6作业
  • Mintlify平台静态资产API跨租户内容注入漏洞分析
  • Experiment 6
  • 102302134陈蔡裔数据采集综合实践
  • A2A协议
  • C语言之成绩排序
  • 使用sharedPerences保存app配置文件
  • 分享文件:charles-proxy-4.6.3-win64.msi
  • 2025年12月中医馆,昆明中医,云南中医馆推荐:行业权威盘点与品质诊疗红榜发布 - 品牌鉴赏师
  • Android ALSA驱动进阶之获取周期帧数snd_pcm_lib_period_frames:用法实例(九十五) - 详解
  • 从研究问题到分析初稿:深度解析PaperXie AI科研工具中数据分析模块在学术写作场景下的辅助逻辑与技能实现路径
  • 详细介绍:Golang Cobra 教程:构建强大的CLI应用
  • 在 Windows 11 中,以管理员权限打开 CMD(命令提示符)的几种常用方法