【集训笔记】2024 寒假集训 第一天:最优化问题

最优化问题

二分

许多最优化问题可以通过二分来转化为判定性问题。

0-1 分数规划

0-1 分数规划思想用于求解分式最优化问题。可以通过对分式二分判定,转化为某一式子大于/小于常数,然后求对应最值即可。

动态规划

动态规划算法的一大用处就是解决最优化问题。朴素的动态规划效率一般,需要优化。

例题(状态压缩 DP):Luogu P3959 [NOIP2017 提高组] 宝藏

斜率优化

数据结构

一些最优化问题可以用数据结构求解。

例题:[NOI2010] 超级钢琴
本题求 \(k\) 个总和最大,就是求前 \(k\) 大的区间和。类似于 P1631 序列合并,这样的问题可以用堆来求解。
把所有区间按右端点分类,求出每个右端点对应的所有区间中总和最大的丢进大根堆。每次取出堆顶区间,将这个区间和记入答案,同时尽可能将这个右端点对应的下一大的区间丢进堆。
求解某右端点对应的总和第 \(k\) 大的区间可以转化为前缀和上的区间静态第 \(k\) 小问题,用可持久化线段树解决。
参考代码:loj

posted @ 2024-02-17 09:23  蒟蒻OIer-zaochen  阅读(11)  评论(0编辑  收藏  举报