Перейти к содержимому
Strategium.ru
    Реклама: ИП Райхерт Карина Андреевна ИНН 346001991373 erid: 2VtzqvTcDga

Помогите решить задачу.


Diplomate

Рекомендованные сообщения

Rogvald

Да поможет тебе Аллах.(с)


Diplomate
Да поможет тебе Аллах.(с)

Молился и не раз.

mr_john
Изменено пользователем mr_john

Если по-быстрому, то отсортируй по убыванию, отбрось числа, превышающие N и добавляй подряд, проверяя на перегруз. Если перегруз, то соответственно пропуск. Конечно, все тесты, я уверен не пройдет, но какие-то результаты есть.

Но это так, на скорую руку. Счас еще посижу, может че еще предложу.

Еще один вариант, проверять массив на максимум и два-три минимума, а потом проверить: какая сумма меньше. В 90% случаев она минимальна. Протестил простенькой программой


Diplomate
Если по-быстрому, то отсортируй по убыванию, добавляй подряд, проверяя на перегруз. Если перегруз, то соответственно пропуск. Конечно, все тесты, я уверен не пройдет, но какие-то результаты есть.

Но это так, на скорую руку. Счас еще посижу, может че еще предложу.

Жадный алгоритм тут совсем ни к чему. Это одна из задач о так называемых рюкзаках. В обычном варианте она выглядит так: Есть n предметов, обладающих массой и стоимостью. Нужно набить ими рюкзак вместимостью m, чтобы он был максимально дорогим. Я же разбил задачу Пицца на ряд подзадач, в одной из которых мне нужно сделать то, что я написал в шапке.

Возможно, это вообще не требуется, тогда буду благодарен, если вы предоставите мне другой рабочий алгоритм. :)


mr_john
Жадный алгоритм тут совсем ни к чему. Это одна из задач о так называемых рюкзаках. В обычном варианте она выглядит так: Есть n предметов, обладающих массой и стоимостью. Нужно набить ими рюкзак вместимостью m, чтобы он был максимально дорогим. Я же разбил задачу Пицца на ряд подзадач, в одной из которых мне нужно сделать то, что я написал в шапке.

Возможно, это вообще не требуется, тогда буду благодарен, если вы предоставите мне другой рабочий алгоритм. :)

Дык что конкретно решать надо?

Если это:

Нужно набрать рюкзак, вес которого будет больше заданного числа и будет минимальным. Каково условие включения или не включения предмета в рюкзак? Или можно без этого вообще обойтись?

То вот примерный алгоритм:

Еще один вариант, проверять массив на максимум и два-три минимума, а потом проверить: какая сумма меньше. В 90% случаев она минимальна. Протестил простенькой программой, можно сказать в любом случае такая фигня прокатит.

Diplomate
Изменено пользователем Diplomate
То вот примерный алгоритм:

Ты наверняка вводил "человеческие" тесты, а на сайте informatics и на олимпиадах такое вряд ли прокатит. У меня пока только одна догадка: если вес рюкзака должен быть более m, то можно сначала проверить, можно ли набрать рюкзак массой m+1, потом m+2 и так делать до тех пор, пока не найдем набираемый рюкзак. Такой алгоритм будет работать в 100% случаев, но он жутко прожорливый и нерациональный. Даже пробовать не хочется.


mr_john
Изменено пользователем mr_john
Ты наверняка вводил "человеческие" тесты, а на сайте informatics и на олимпиадах такое вряд ли прокатит. У меня пока только одна догадка: если вес рюкзака должен быть более m, то можно сначала проверить, можно ли набрать рюкзак массой m+1, потом m+2 и так делать до тех пор, пока не найдем набираемый рюкзак. Такой алгоритм будет работать в 100% случаев, но он жутко прожорливый и нерациональный. Даже пробовать не хочется.

Ну, тесты обычно стандартны и любому первокурснику известны.))) Я и говорю, на 100% программа вряд ли пройдет, но ведь как минимум можно сделать вывод в файл)))

Такой алгоритм будет работать в 100% случаев, но он жутко прожорливый и нерациональный. Даже пробовать не хочется.

Не знаю, я всегда юзаю нерациональные алгоритмы. Или просто неполный алгоритм, который будет менее подвержен случайностям. Собственно, я такой выше и предложил.


MaslovRG
Изменено пользователем MaslovRG

йцукенгшщз

лето же, че он делает?


mr_john
лето же, че он делает?

Может на каникулы задали


Diplomate
Изменено пользователем Diplomate
Может на каникулы задали

Смешно. В 9 классе еще нет программирования. Сомневаюсь, что нечто подобное будет и в 11.

Ладно, завтра попробую покряхтеть над немного другим вариантом рюкзака для этой задачи, может получится.

Не знаю, я всегда юзаю нерациональные алгоритмы. Или просто неполный алгоритм, который будет менее подвержен случайностям. Собственно, я такой выше и предложил.

Ну, на олимпиаде каждый заваленный тест стоит баллов. Причем достаточно хотя бы одного неправильного ответа, чтобы количество баллов урезали в разы.


mr_john
Изменено пользователем mr_john
Смешно. В 9 классе еще нет программирования. Сомневаюсь, что нечто подобное будет и в 11.

Ладно, завтра попробую покряхтеть над немного другим вариантом рюкзака для этой задачи, может получится.

Ну я то не знаю подробностей твоей учебы. У меня было, к примеру, только такой хренью мы не занимались. Да и я, хоть и на кодера уже два года как учусь, такую задачу впервые вижу. Но признаюсь честно, голова у меня хреново соображает.

Ну, на олимпиаде каждый заваленный тест стоит баллов. Причем достаточно хотя бы одного неправильного ответа, чтобы количество баллов урезали в разы.

Я бы сказал, что каждый пройденный тест стоит баллов. Так что лучше обойти один тест и набрать очки, чем вообще не набрать.

И если тебя интересует именно набор баллов, а не решение задачи - обращайся


Detech

Здесь вопрос не в кодинге, а в знании нужного алгоритма. Я сильно удивлюсь если кто-то сможет набросать оптимальный алгоритм для такой задачи на ограниченное время, это на самом деле серьезная работа с теоретической базой. Поэтому или ты знаешь алгоритм, или не знаешь..

Я вот к сожалению не знаю. И его не придумать - все что предлагают не зная точно - это всего лишь приближения без какой то гарантии оптимала.

Выход единственный - гуглить.


Diplomate
Ну я то не знаю подробностей твоей учебы. У меня было, к примеру, только такой хренью мы не занимались. Да и я, хоть и на кодера уже два года как учусь, такую задачу впервые вижу. Но признаюсь честно, голова у меня хреново соображает.

Ну как бы такие задачи для хороших программистов считаются легкими.

Здесь вопрос не в кодинге, а в знании нужного алгоритма. Я сильно удивлюсь если кто-то сможет набросать оптимальный алгоритм для такой задачи на ограниченное время, это на самом деле серьезная работа с теоретической базой. Поэтому или ты знаешь алгоритм, или не знаешь..

Я вот к сожалению не знаю. И его не придумать - все что предлагают не зная точно - это всего лишь приближения без какой то гарантии оптимала.

Выход единственный - гуглить.

Я гуглил, причем очень долго. Ничего толкового найти не смог.


Detech
Изменено пользователем Detech

Я вот так по диагонали пробежался - ближайшее что нашел имеет сложность N2. Так что твой N2 алгоритм с перебором не так уж плох.

А ты уверен что алгоритм имеет решение сложностью меньше чем N2?

upd: ошибся, у тебя не N2


Diplomate
Я вот так по диагонали пробежался - ближайшее что нашел имеет сложность N2. Так что твой N2 алгоритм с перебором не так уж плох.

А ты уверен что алгоритм имеет решение сложностью меньше чем N2?

Не уверен, но мне почему-то кажется, что можно куда проще. В общем, попробую, может по времени пройдет.


йцукенгшщз
Смешно. В 9 классе еще нет программирования. Сомневаюсь, что нечто подобное будет и в 11.

Ладно, завтра попробую покряхтеть над немного другим вариантом рюкзака для этой задачи, может получится.

школы разные бывают


Diplomate
школы разные бывают

Жаль, что я не в той.


Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   Вы не можете вставлять картинки напрямую. Загрузите или вставьте их через URL.

  • Ответы 33
  • Создано 10.08.2014
  • Последний ответ 11.08.2014
  • Просмотры 7511
  • Ответов в сутки 0.01
  • Просмотров в сутки 1.7

Лучшие авторы в этой теме

  • Diplomate

    14

  • mr_john

    10

  • Detech

    3

  • MaslovRG

    2

  • йцукенгшщз

    2

  • Жора

    1

  • Deceased WhiteBear

    1

  • Rogvald

    1

Популярные дни

Лучшие авторы в этой теме

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу
  • Модераторы онлайн

    • alexis
×
×
  • Создать...