备战蓝桥杯--01分数规划

何为规划?即选择的方案

何为01?即是否选择

其实01分数规划也只是二分答案的延申。让我们直接看题目吧:

备战蓝桥杯--01分数规划_第1张图片

下面为分析:

首先,我们会想直接对每一个v/c,然后排序。实际上,选单个性价比大的不一定总价值/总花费大。

于是我们二分总价值/总花费,然后判断。

那如何判断呢?

\sum value/\sum cost>a

我们进行化简

\sum \left ( value-a*cost \right )>=0

于是我们维护好这值即可。

下面为AC代码:

备战蓝桥杯--01分数规划_第2张图片

备战蓝桥杯--01分数规划_第3张图片

你可能感兴趣的:(蓝桥杯,c++,算法)