Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выравнивание последовательности значений 
:(
    Опции темы
Rutti
Дата 26.12.2006, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Имеется набор значений весовых коэффициентов и набор значений, составленных из этих весовых коэффициентов.

Например:
Значения - 12 32 34 65 76 123
Значения весовые коэффициенты – 1 2 3

Задача – максимально выровнять значения между собой, манипулируя весовыми коэффициентами так, что если у какого-то значения весовой коэффициент убирается/вычитается, то он должен быть обязательно присоединён (прибавлен) к другому значению. Т.е., т.о., сумма значений при любых манипуляциях не должна меняться.

P.S. На всякий случай: задача решается на С++.

Это сообщение отредактировал(а) Rutti - 26.12.2006, 12:36
PM MAIL   Вверх
SoWa
Дата 26.12.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Ох. Среднее арифметическое с последующим прибавлением/вычитанием дробных частей...
Даже коэффициенты 2 и 3 не нужны.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
esperant0
Дата 26.12.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



"P.S. На всякий случай: задача решается на С++.
"


На все всякие случае - задача является вычислимой по Тьюрингу функцией


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
SoWa
Дата 26.12.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Цитата(esperant0 @  26.12.2006,  15:14 Найти цитируемый пост)
На все всякие случае - задача является вычислимой по Тьюрингу функцией

Можно популярно? Знаю машину Тьюринга, но функцию впервые слышу...
Или просто я тупой или ты написал "Юзай поиск"?


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
maxim1000
Дата 26.12.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Модератор: 
[тихонько так], может, обсудить это где-то ещё?  smile
(это я касательно машины Тьюринга)

Это сообщение отредактировал(а) maxim1000 - 26.12.2006, 17:42


--------------------
qqq
PM WWW   Вверх
SoWa
Дата 26.12.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Ок. Решение я привел. Среднее арифметическое, а там уже доделываем до целых чисел, если надо.
Хотя задача должна ставиться так: найти максимально короткую последовательность операций, в результате которой мы макимально уравняем последовательность.
Но такую задачу не ставили smile


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Rutti
Дата 26.12.2006, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Я прошу прощения за не совсем корректно поставленную задачу. Дополняю.

Каждый элемент Значений "привязан" к определённым весовым коэффициентам (т.е., например, первый элемент Значений - 12, был создан только весовыми коэффициентами 1 и 3). И, поэтому, при уравнивании последовательности к каждому элементу Значений могут быть применимы только "создавшие" его весовые коэффициенты.
PM MAIL   Вверх
SoWa
Дата 26.12.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Берешь и раскладываешь каждую твою цифру на составляющие, из которых она "сделана".
Складываешь тройки в одну кучу, двойки- в другую. Угадай, куда единицы smile
Затем раскладываешь эти кучи равномерно по количеству цифр в начальной последовательности.
Т.е. у нас допустим есть пять троек, две двойки и шесть единиц.
Надо создать последовательность из 4 элементов.
Получаем
3 3
3 2
3 1 1 1
3 1 1 1
Каждый столбик соответствует номеру прохода. Первый- положили тройки, далее по убыванию...
ИМХО проще уже не объяснить...


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Rutti
Дата 27.12.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 25.7.2004

Репутация: нет
Всего: нет



Цитата(SoWa @ 26.12.2006,  20:59)
Берешь и раскладываешь каждую твою цифру на составляющие, из которых она "сделана".
Складываешь тройки в одну кучу, двойки- в другую. Угадай, куда единицы smile
Затем раскладываешь эти кучи равномерно по количеству цифр в начальной последовательности.
Т.е. у нас допустим есть пять троек, две двойки и шесть единиц.
Надо создать последовательность из 4 элементов.
Получаем
3 3
3 2
3 1 1 1
3 1 1 1
Каждый столбик соответствует номеру прохода. Первый- положили тройки, далее по убыванию...
ИМХО проще уже не объяснить...

В таком случае внесу ещё одно уточнение.
Фиксировать количество "составляющих" совсем не хочется.
Хотелось бы получить решение задачи исходя из того, что не известно сколько определённых "весовых коэффициентов" использовалось при составлении каждого Значения.
PM MAIL   Вверх
SoWa
Дата 27.12.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



ооох. Что с тобой делать, а?
Ну и что, что неизвестно?
Тебе алгоритм разложения еще написать, а?
Все то же самое, только в обратную сторону.
Можно вычесть тройку из каждого числа? Вычитаем. Ага. Уже нельзя. Вычитаем двойку. Придумываем критерий равновесности для разложения. И так далее


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.2634 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.