Все дело в этом полиномиальном времени меня путает, например: я хочу написать программу в алгоритме с полиномиальным временем, который будет выбирать только 4 целых числа эта сумма равна 0 из множества. Например: предположим, что у меня есть следующий набор целых чисел {8, 20, 3, -2, 3, 7, 16, -9}. Как я могу выбрать только 4 различных целых числа, которые суммируются до 0 из множества в полиномиальное время без необходимости проверять всю возможную длину, отличную от 4? Обратите внимание, что в программе мне не нужно искать любую другую возможную длину, чем 4. Моим ожидаемым решением является {8, 3, -2, -9} = 0. зная полностью, что мне нужно всего 4 целых числа из множества { 8, 20, 3, -2, 3, 7, 16, -9}.Как выбрать только 4 набора целых чисел из набора в алгоритме с полиномиальным временем
Редактировать: Я нашел полиномиальное временное решение {8, 3, -2, -9}, даже если я увеличиваю только длину исходного набора от 8 до 100 целых чисел, в то время как мне все равно придется выбрать мой 4 элементы, которые суммируются до 0, но из набора из 100 целых чисел, будут ли они по-прежнему быть многочленными относительно размера ввода (т. е. количества бит, используемых для хранения ввода)?
Попробуйте все отдельные четверки. Это требует не более усилий (N^4-6N³ + 11N²-6N)/24'. –