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

Автор Sudhanshu_Kumar, история, 5 лет назад, По-английски

How to divide a circular array into k group of contiguous element such that difference between maximum sum and minimum sum is minimum. Each group have contiguous element of array. For e.g If the array is as follow. [6 13 10 2] and k=2 then o/p should be 18(6+10+2)-13=5. As array is circular 6,10,2 are contiguous element of array.

For e.g If the array is as follow. [100 92 133 201 34 34 34 94 108] and k=4 then group as follow 208(108,100), 225(92,133), (201), 196(34,34,34,94) so 225-196=29

I was thinking of binary search similar to painter's partition problem, please clarify if the approach is correct.

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

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

Can u provide a link to the question...

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

You can try to maximize the minimum sum of group among different combinations, then the maximum sum of group will be relatively smaller. You can binary search over the minimum sum of group.

UPD: My approach is wrong. Someone please tell a correct approach. Specifically how to group elements in case when array is 20 20 30 100 50 200 and we have divide it in 3 partitions.

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

Can someone give the correct approach for this question it seems a good question....