01 分数规划

总结

01分数规划的基本题目套路是这么一个式子

wiaiwibi,wi=0/1

也就是对于每一组问题取或不取,最好希望分数最大/小化

一般采用的都是二分的方法,也就是会套一个 log ,然后对于这个值贪心的去判断能否达到要求

有的时候会对分母/分子有一些限制,但是肯定还是要先二分一个值的,那么我们需要对最后得出来的这个式子下手。因为涉及取或者不取,那么考虑背包的思想控制这个分数的上下界。

图上典型的 01 分数规划就是对于边一个价值是边的权值,另一个价值是 1 ,也就是选择或者不选择,求选出的所有边的最小值。这个一般会建立在环上,那么每次判一下负环就可以了。

Luogu P4377 [USACO18OPEN] Talent Show G

这就是一个典型的分母带限制,同上述求解即可

Luogu P3199 [HNOI2009]最小圈

每次二分出一个值,最后的式子应该是 <0 ,那么直接 SPFA 判负环即可

Luogu P3288 [SCOI2014]方伯伯运椰子

最优情况下总流量一定不变(没有人愿意无缘无故增加费用吧,也不让减少),那么这个就有点类似网络流的一个思想,对于一些流量在一段路上减少,在一段路上增加,并且这两段路组成一个环。那么我们对于压缩操作在边上设一个方向,对于扩容操作在边上设一个方向,那么对于一个环,如果我们要操作,原方向的边就代表我们要压缩,非原方向的边就代表我们要扩容。那么对于这个题目就转换成了有一些环的图上的01分数规划。那么剩下的就和上面一样的求法了。

Luogu P3705 [SDOI2017]新生舞会

这个东西像分数规划又不完全是,转换一下就是 aiC×bi=0 ,那么我们仍然二分 C 的值,然后用费用流去判断。建图的话就是源点向左边点连费用为 0 ,容量为 1 的边,左边的边向右边连费用为 aiC×bi ,容量为 1 的边,右边的点向汇点连费用为 0 ,容量为 1 的边。

Luogu P4322 [JSOI2016]最佳团体

这个东西就是一个很明显的 01 分数规划了。转换一下,就是在一个树上选有限数量的点,使得价值总和最大,并且选了一个点就必须选它的祖先节点。这个用树上背包解决即可。(似乎没人说会出现环的情况,我个人认为可能会出现环啊,不过缩个点就可以了,不是此处的重点)

posted @   Kzos_017  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示