Блог пользователя Electr0

Автор Electr0, история, 3 года назад, По-английски

Suppose we have 2 arrays of size n (say A and B) and we have to select k indices i1,i2,i3....ik, such that all are valid indices (i.e all belong to [0,n-1) ) .And let valA = $$$\sum_{j=1}^{k} A_{ij}$$$ and let valB = $$$\sum_{j=1}^{k} B_{ij}$$$. Then min(valA,valB) should be maximum. How to solve this? I tried using dp but couldnt figure out how to move from dp[i-1] to dp[i].
Is there any other way to think about it?

  • Проголосовать: нравится
  • +5
  • Проголосовать: не нравится

»
3 года назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Can you prove this problem is not from an ongoing contest?

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

If the sum of elements are small, then dp[i][x] denote the max value of sum of B[i] you can get if you take i element with sum x from A, Then do a knapsack like dp,

dp[i][x]=max(dp[i-1][x-A[i]]+B[i],dp[i-1][x])