Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2015, 20:15   #1401
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Вот. Прекрасная задачка:
Дается массив A, который содержит ровно N натуральных чисел, и число S. Нужно определить можно ли составить S из суммы элементов А.
Poma][a, ну это же не простой перебор? Сложность задачи при хучших начальных условиях меньше чем N! ?
Sibedir вне форума Ответить с цитированием
Старый 17.08.2015, 00:09   #1402
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Сложность задачи при хучших начальных условиях меньше чем N! ?
Ага. Меньше
Poma][a вне форума Ответить с цитированием
Старый 18.08.2015, 14:09   #1403
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Ну я пока нашел алгоритм со сложностью N*(N+1)/2 (треугольное число). Памяти он соответственно требует SizeOf(S) * (N*(N+1)/2).
Полагаю, это не то. Так как алгоритм в итоге дает еще и сам набор элементов, кроме ответа на поставленный вопрос: ДА/НЕТ.
Sibedir вне форума Ответить с цитированием
Старый 18.08.2015, 22:22   #1404
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Какое решение я хотел услышать - я пока не вспомнил
Пока вижу такие решения :
перебор 2^N
Сортировка с перебором. Сложность пока не понял какая.. Описываем функцию F(K, SUM) = F(K-1, SUM) OR F(K-1, SUM - A[K])
Можно рюкзаком за N*S

Последний раз редактировалось Poma][a; 18.08.2015 в 22:30.
Poma][a вне форума Ответить с цитированием
Старый 18.08.2015, 22:38   #1405
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Дается массив A, который содержит ровно N натуральных чисел
Произвольных или первых подряд?
Если 1, то задача - сложная в смысле алгоритма.
Если 2, то простейшая.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 19.08.2015 в 01:57.
MihalNik вне форума Ответить с цитированием
Старый 18.08.2015, 22:47   #1406
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Произвольных или первых подряд?
Произвольных
Poma][a вне форума Ответить с цитированием
Старый 19.08.2015, 06:48   #1407
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Да, Poma][a, я нагнал.
У меня сейчас как ты сказал. Только, если быть точным, перебор (2^N)-1. А эта прогрессия возрастает куда быстрее треугольной.

Poma][a, так а это... блин... у тя чё, нет более рационального решения?
i.jpg

Последний раз редактировалось Sibedir; 19.08.2015 в 06:57.
Sibedir вне форума Ответить с цитированием
Старый 19.08.2015, 07:42   #1408
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

https://ru.wikipedia.org/wiki/%D0%97...81%D1%82%D0%B2
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.08.2015, 09:59   #1409
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Да, всё так Аватар. Но поставленная задача (буквально) не в нахождении самого подмножества, а в определении того, существует оно или нет. Порой алгоритм ответа на вопрос "Есть решение или нет?" может сильно отличаться от самого решения. Я думал вся соль в этом.
Sibedir вне форума Ответить с цитированием
Старый 19.08.2015, 10:37   #1410
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

ИМХО почти 100% - в этой задаче найти одну из комбинаций и есть решение. Иначе нужно придумать новый писк в математике и очень существенный писк, почти крик. Повторяю - ИМХО
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интересные проги kipish Софт 85 18.12.2022 01:03
Текст на картинках SunLight Microsoft Office Word 2 08.08.2007 12:59