2012-08-23 3 views
0

, если нам даны пары целых чисел (a1,b1),(a2,b2),(a3,b3),..(an,bn) и есть максимальное значение суммы = X, то как мы можем выбрать заданные пары таким образом, чтобы сумма первых записей (то есть a1, a2, .. ap) среди выбранных пар - maximum but <= X? Например, если данные пары составляют (43,9),(57,12),(13,4), а максимальная сумма составляет 71, тогда пары, которые мы можем выбрать, - (57,12) и (13,4), давая максимальную сумму < = 71 (X) как 70. Мой первоначальный подход заключается в сортировке пар на основе первых значений ввода в порядке убывания, а затем, возможно, алгоритме O (n^2). Но я не уверен в этом, и он также может быть слишком медленным для большого количества данных. Так есть ли эффективный подход к нему? Спасибо.Выбирая целые числа, чтобы максимизировать сумму

+0

Я смущен, как максимальная сумма одновременно может быть X и <= X (если только ее просто X, в этом случае, почему существует user439407

+0

i означает сумму первых записей должны быть максимальными, но в то же время 71 – pranay

+0

Я думаю, что «pranay'it - проблема динамического программирования. выполните некоторые поиски проблемы с максимальной суммой в динамическом программировании, которые могут вам помочь. но все же usouully в этом конкретном случае, который также даст O (n^2), но я думаю, что мы можем сделать это в O (n) примерно следующим образом: Сначала рассмотрим первую часть пары, как 43, 57 и 13, тогда как проблема планирования взвешенного интервала DP, т.е. u cn, получает soln of prob, например: «любое значение будет в решении, или оно не будет там, рекурсивное проектирование, так что решение будет либо i-м членом, либо от i-го члена –

ответ

1

Похоже, это может быть реализовано с модификацией проблемы 0-1 Knapsack.

+0

Спасибо, что общая сложность будет O (n^2), я думаю. – pranay

+0

Я считаю, что это будет O (nX), который может быть O (n^2), если n == X – smang

+0

Сложность будет зависеть также от значений n целых чисел, так как (100,2) (201,2) (350,7) с X = 95, выполняли бы очень мало работы с использованием меморизованной рекурсивной версии. – Xantix

Смежные вопросы