powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Относительно простые задачки
25 сообщений из 339, страница 8 из 14
Относительно простые задачки
    #39932707
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
7) k = k-1,...
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932710
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в этой задаче есть естественный ранг, в виде "номера этажа"
и "дорогое разрушающее исследование" в виде разбиваемого яйца.
Пока не вижу, как из этого практическая применимость получается.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932713
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть получается, в что в практическом случае,
с одной стороны, должна существовать бесплатная естественная сортировка по адекватному параметру
одновременно с дорогим, разрушительным для прибора исследованием.

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

Требуется найти золотой шарик, сломав не более чем K инструментов.

какую более практичную для целей прикладного программирования модель можно предложить?
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932733
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
вероятно таким:
Я думаю качественные рассуждения будут одинаковые для всех {K, N} - если яйцо на i-м шаге разобьётся, нужно оставшимися локализовать решение за нужное число итераций.

К примеру: K=3, N=8; (I0=0)

I1= I0 +7*8/2 +1 = 29;
I2= I1+ 6*7/2 + 1 = 51;
I3= I2+ 5*6/2 + 1 = 67;
I4= I3+ 4*5/2 +1 = 78;
I5= I4 +3*4/2 + 1 = 85;
I6= I5 +2*3/2 + 1 = 89;
I7= I6 +1*2/2 + 1 = 91;
I8= 92;
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932774
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

авторЯ думаю качественные рассуждения будут одинаковые для всех {K, N} - если яйцо на i-м шаге разобьётся, нужно оставшимися локализовать решение за нужное число итераций.

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

у меня впечатление, что в части фактического деления на области поиска у задачи более одного решения....

для 92х этажей
в 29 я еще готов поверить не глядя,
а в 51 - с трудом - тут треугольные числа, похоже проглядывают как рабочая последовательность.
Причём, сдаётся, что не полная а с допустимыми оставшимся числом шаров пропусками.

Это что, на четырёх шарах квадратные числа появятся, что-ли?

позже может каких табличек отпишу.
Пока недосуг.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932778
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

Даже для двух шаров решение не одно.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932797
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
booby,

Даже для двух шаров решение не одно.

для 2 шаров и 100 этажей множественность решений определяется тем, что
1+2+3+4+5+6+7+8+9+10+11+12+13+14= 105
для двух шаров и 105 этажей решение должно быть единственным.

Для трёх шаров дело обстоит иначе.
Здесь и для 92 этажей 8 максимальных бросаний не дают единственного решения
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932834
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
...
К примеру: K=3, N=8; (I0=0)

I1= I0 +7*8/2 +1 = 29;
I2= I1+ 6*7/2 + 1 = 51;
I3= I2+ 5*6/2 + 1 = 67;
I4= I3+ 4*5/2 +1 = 78;
I5= I4 +3*4/2 + 1 = 85;
I6= I5 +2*3/2 + 1 = 89;
I7= I6 +1*2/2 + 1 = 91;
I8= 92;


Разглядел - да, это правильное и единственное решение.
Было бы интересно узнать, как именно оно было найдено.
(В том смысле - как именно ты вышел на треугольные числа.)

Я бы это решение изображал так:
номер этажа (старт слота)номер броска 1го шара последний в слотеРезерв бросков при спускештук элементов в слоте поискаостаток в слоте после бросания первого шара928-010917-000896901218558824378484376673774111051266516152915062221-02872828

1, 3, 6, 10, 15, 21, 28 - последовательность треугольных чисел.
Красиво также то, что при этом резерв оставшихся бросков идеально точно сходится с числом оставшихся в слоте элементов, которые можно проверить двумя шарами.

Можно сказать, что трёх-шаровыми конфигурациями управляют треугольные числа, а двух-шаровыми - простой натуральный ряд.
(отсюда подозрения на квадратность, которая должна проявить себя в четырёх-шаровых конфигурациях)
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932845
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Разглядел - да, это правильное и единственное решение.
Было бы интересно узнать, как именно оно было найдено.
(В том смысле - как именно ты вышел на треугольные числа.)
К сожалению, через рекурсию, явную формулу не придумал.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932885
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
(В том смысле - как именно ты вышел на треугольные числа.)
22089764 тут они упоминаются для К=2


Соколинский Борис
А как для произвольных (K, N) должен выглядеть алгоритм обхода?
берем простой случай - высота дома максимальная для конкретных (K, N), тут всегда будет единственный возможный обход, строго по формуле S(K, N) = S(K-1, N-1) + 1 + S(K, N-1)

этажи нумеруются с 1.

1) offset = 0

2) floor = offset + S(K-1, N-1) + 1 // этаж для броска

2.1) разбилось?
2.1.1) K = K-1, N = N-1
2.1.2) goto 2

2.1) не разбилось?
2.2.1) offset = floor, N = N-1
2.2.2) goto 2

выходим, когда броски или яйца закончатся, ответом будет номер этажа последнего броска с разбиванием.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932886
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Можно сказать, что трёх-шаровыми конфигурациями управляют треугольные числа, а двух-шаровыми - простой натуральный ряд.
(отсюда подозрения на квадратность, которая должна проявить себя в четырёх-шаровых конфигурациях)
K-шаровыми конфигурациями управляют числа S(K-1, N-1) 22089764

S(3, N) = (N 3 + 5*N) / 6
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932973
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не "дорогое разрушающее исследование", а расходный материал. Хотя яйца теперь да, не дёшевы.
Наверное скажу очевидное. Когда яиц 2)), и когда их очень много.
Если интервалов первого порядка очень много,то и попыток много, если мало, то попыток внутри интервала много и т.д. Должен иметься подобие минимакса. Похоже, имеем нижний предел в районе ЛОГ(2, 100) т.е. 6-7 попыток даже при 100500 яйцах.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932980
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне почему-то задача напомнила 15 радиоактивных шаров.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932986
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Мне почему-то задача напомнила 15 радиоактивных шаров.
что там? пиши сюда
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39932998
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в итоге 7 оказалось?
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933006
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я тем временем вспомнил задачу, весьма напоминающую название текущего топика.

Есть строка длиной 99 символов, причем все символы в строке разные.
За одно действие можно взять 2 соседние
подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки).
Сколько минимум действий понадобится, чтобы развернуть строку задом наперед?
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933014
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сразу пояснение: тут не нужен какой-то хитрый сложный алгоритм, надо найти простую общую идею и применить.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933015
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
в итоге 7 оказалось?

У меня получалось 8.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933028
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
а я тем временем вспомнил задачу, весьма напоминающую название текущего топика.

Есть строка длиной 99 символов, причем все символы в строке разные.
За одно действие можно взять 2 соседние
подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки).
Сколько минимум действий понадобится, чтобы развернуть строку задом наперед?

как-то так должно быть
2*Floor(log2(99)) = 12

Это обратный Евклид
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933036
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибся на 1:
2*Floor(log2(Floor(99/2))) + 1 = 11
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933038
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

не очень понял, как именно сделать
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933048
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я верно понял задачу.

Давайте возьмем маленькую строку (не 99 а чуть меньше):

Код: sql
1.
The quick brown fox jumps over lazy dog



п просто перевернем ее. Мне кажется тут переворотов надо floor(length/2).
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933074
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1,

похоже я сморозил малек. Забудь пока.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39933078
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Давайте возьмем маленькую строку (не 99 а чуть меньше):

Код: sql
1.
The quick brown fox jumps over lazy dog

по условию в строке нет повторяющихся символов.
...
Рейтинг: 0 / 0
25 сообщений из 339, страница 8 из 14
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Относительно простые задачки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]