У меня есть то, что кажется простой проблемой, но я изо всех сил пытаюсь ее решить. Обращаясь к Google, кажется, что это может быть вариацией проблемы рюкзака, но у меня возникают проблемы с отображением этих решений этой конкретной проблемы.
Допустим, у меня есть два списка натуральных чисел, A и B. I Я хочу найти значение, которое представляет наибольшую общую сумму между этими двумя списками.
A: [6, 1]
B: [5, 3, 1]
Здесь ответ равен 6, потому что это самая большая сумма, которую обычно можно создать в обоих списках (удалив 1 в списке A и удаление 3 в списке B).
Я могу наивно решить это в O (2 ^ n), но я предполагаю, что есть гораздо более эффективный подход с помощью динамического программирования c, хотя dp не моя сила.
Это проблема с рюкзаком? Любые указатели относительно того, как я должен сопоставить проблему ранца classi c с этой проблемой двух списков?