![]() |
|
|
![]()
|
|
| Rutti |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 225 Регистрация: 25.7.2004 Репутация: нет Всего: нет |
Имеется набор значений весовых коэффициентов и набор значений, составленных из этих весовых коэффициентов.
Например: Значения - 12 32 34 65 76 123 Значения весовые коэффициенты – 1 2 3 Задача – максимально выровнять значения между собой, манипулируя весовыми коэффициентами так, что если у какого-то значения весовой коэффициент убирается/вычитается, то он должен быть обязательно присоединён (прибавлен) к другому значению. Т.е., т.о., сумма значений при любых манипуляциях не должна меняться. P.S. На всякий случай: задача решается на С++. Это сообщение отредактировал(а) Rutti - 26.12.2006, 12:36 |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ох. Среднее арифметическое с последующим прибавлением/вычитанием дробных частей...
Даже коэффициенты 2 и 3 не нужны. -------------------- Всем добра |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
"P.S. На всякий случай: задача решается на С++.
" На все всякие случае - задача является вычислимой по Тьюрингу функцией -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Можно популярно? Знаю машину Тьюринга, но функцию впервые слышу... Или просто я тупой или ты написал "Юзай поиск"? -------------------- Всем добра |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
Модератор:
[тихонько так], может, обсудить это где-то ещё? (это я касательно машины Тьюринга) Это сообщение отредактировал(а) maxim1000 - 26.12.2006, 17:42 -------------------- qqq |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ок. Решение я привел. Среднее арифметическое, а там уже доделываем до целых чисел, если надо.
Хотя задача должна ставиться так: найти максимально короткую последовательность операций, в результате которой мы макимально уравняем последовательность. Но такую задачу не ставили -------------------- Всем добра |
|||
|
||||
| Rutti |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 225 Регистрация: 25.7.2004 Репутация: нет Всего: нет |
Я прошу прощения за не совсем корректно поставленную задачу. Дополняю.
Каждый элемент Значений "привязан" к определённым весовым коэффициентам (т.е., например, первый элемент Значений - 12, был создан только весовыми коэффициентами 1 и 3). И, поэтому, при уравнивании последовательности к каждому элементу Значений могут быть применимы только "создавшие" его весовые коэффициенты. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Берешь и раскладываешь каждую твою цифру на составляющие, из которых она "сделана".
Складываешь тройки в одну кучу, двойки- в другую. Угадай, куда единицы Затем раскладываешь эти кучи равномерно по количеству цифр в начальной последовательности. Т.е. у нас допустим есть пять троек, две двойки и шесть единиц. Надо создать последовательность из 4 элементов. Получаем 3 3 3 2 3 1 1 1 3 1 1 1 Каждый столбик соответствует номеру прохода. Первый- положили тройки, далее по убыванию... ИМХО проще уже не объяснить... -------------------- Всем добра |
|||
|
||||
| Rutti |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 225 Регистрация: 25.7.2004 Репутация: нет Всего: нет |
В таком случае внесу ещё одно уточнение. Фиксировать количество "составляющих" совсем не хочется. Хотелось бы получить решение задачи исходя из того, что не известно сколько определённых "весовых коэффициентов" использовалось при составлении каждого Значения. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
ооох. Что с тобой делать, а?
Ну и что, что неизвестно? Тебе алгоритм разложения еще написать, а? Все то же самое, только в обратную сторону. Можно вычесть тройку из каждого числа? Вычитаем. Ага. Уже нельзя. Вычитаем двойку. Придумываем критерий равновесности для разложения. И так далее -------------------- Всем добра |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |