powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Относительно простые задачки
25 сообщений из 339, страница 3 из 14
Относительно простые задачки
    #39915296
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Шестьдесят четыре артиста выступают в первый день для одного зрителя.
На следующий день - сольное выступление для шестидесяти четырёх зрителей.
но тогда эти 64 не увидят выступление друг друга.

Я имел в виду, что у каждого свой уникальный фокус.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915383
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
господа, вспомнился ещё паззл умеренной сложности.

На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности.

Меньше 65 не придумал - по одному в день.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915388
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Имя пользователя1
господа, вспомнился ещё паззл умеренной сложности.

На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности.

Меньше 65 не придумал - по одному в день.
условию соответствует, но конечно можно намного меньше
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915397
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
Соколинский Борис
пропущено...
Есть какие-то ограничения на количество выступлений? Если нет, то ответ - бесконечность (Кто-то решил выступать каждый день)
можно считать, что у каждого есть только один уникальный фокус, который он может показать. И все остальные должны хотя бы раз это увидеть. Он может выступать с этим фокусом хоть сколько угодно, однако нам требуется минимизировать количество дней фестиваля.

OK, формализуем задачу.
Есть квадратная матрица размера N.
По столбцам - "я посмотрел", по строкам - "меня посмотрели".
Исходно она единичная (я себя уже видел, остальные - нет), нужно ее полностью заполнить за минимальное количество итераций.
В каждой итерации может быть любое множество элементов (S). Если элемент k входит в S, при выполнении итерации для элемента k заполняются единицами все элементы в к-той строке, кроме тех, кто входит в S.
Для начала определимся с оптимальным числом элементов в S (максимизируем количество установленных единиц при выполнении итерации).
Получаем рекурентную формулу (1)


если ее развернем, получим (2):


Оптимум достигается при K=[N/2] т.е каждый день должно выступать 32 участника.
Исходя из оптимального соотношения за первые два для заполняем два квадранта матрицы (в первый день верхний правый, во второй - нижний левый)
Оставшиеся квадранты разбиваем по той же схеме ("верхние"/нижние)
Получаем окончательную формулу:

При N=65 D= 12
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915400
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
D= 12
можно меньше.

тут всё проще намного, только надо "с другого конца" зайти.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915462
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1,
"Матричный конец" мне кажется вполне разумным и максимальное количество выступающих в день тоже.
Очевидно также, что более четверти в день заполнить невозможно, т.е. D>=4.
Проблема в том, что при такой схеме матрица заполняется неравномерно.
Интуитивно хочется делать блоки выступающих порядка и перетасовывать их, но пока не придумал как.
Если придумаю, будет 8-9 :)
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915480
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

говорю же - посмотри на эту задачу с обратной стороны. Всё моментально встанет на свои места самым очевидным образом. Ну кроме док-мина, это отдельная вишенка на торте.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915490
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
Соколинский Борис,

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


Сейчас пока не могу.
Пока на предыдущую (вагоны) посмотрю.
Условия те же, нужно придумать алгоритм, который работает как O(2N) с вероятностью >=(1/2) 2N
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915494
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
Имя пользователя1
Соколинский Борис,

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


Сейчас пока не могу.
Пока на предыдущую (вагоны) посмотрю.
Условия те же, нужно придумать алгоритм, который работает как O(2N) с вероятностью >=(1/2) 2N
22060302 работает как O(2N) с вероятностью P=(1/2) N-1 , что больше (1/2) 2N

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

а именно, для случаев, когда во всех вагоны, кроме стартового, свет включен. В стартовом неважно, всё равно он выключается первым же действием.
Извиняюсь, неправильно сформулировл
P>=1-(1/2) 2N
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915518
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
mayton
Да у нее нет другой памяти кроме ленты. Но согласись. Было бы красивое решение? Да?
согласен.

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

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

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

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

В общем, по аналогии с твоим решением. Тоже линейное время получится.

Всё это можно обыграть состояниями и переходами.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915563
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

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

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

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

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

Я зацепился за фразу - нет другой памяти кроме ленты, флаг состояния это уже внешняя по отношению к ленте память, а так да красивое решение требующее меньший объем информации и не проигрывающее в скорости.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915603
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
iOracleDev
Имя пользователя1,

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

Машина представляет собой конечный автомат. Тоесть количествое ее внутренних состояний лимитировано.
Лента - предполагает собой данные. Или диск. Как вам будет угодно. И благодаря этой ленте можно реализовывать
различные алгоритмы которые могут потребовать бесконечного набора данных. Или очень большого.

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

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

Каким образом золотой рыбке понять, что лента пройдена?

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

На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности.
Есть какие-то ограничения на количество выступлений? Если нет, то ответ - бесконечность (Кто-то решил выступать каждый день)

В первый день - выступили 33. Оставшиеся 32 их посмотрели.
На следующий день выступили 32 и их посмотрели 33.
2 дня.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915649
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Соколинский Борис
пропущено...
Есть какие-то ограничения на количество выступлений? Если нет, то ответ - бесконечность (Кто-то решил выступать каждый день)

В первый день - выступили 33. Оставшиеся 32 их посмотрели.
На следующий день выступили 32 и их посмотрели 33.
2 дня.
надо чтобы каждый увидел выступление каждого. А выступающие не могут смотреть выступления друг друга
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915652
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
mayton
пропущено...

В первый день - выступили 33. Оставшиеся 32 их посмотрели.
На следующий день выступили 32 и их посмотрели 33.
2 дня.
надо чтобы каждый увидел выступление каждого. А выступающие не могут смотреть выступления друг друга

Ага . Я понял. Рисуем орграф. 65 вершин. Несвязный.

Цель - сделать его полносвязным. Есть ограничения. В один день каждая вершина может поставить либо
сет исходящих рёбер. Либо сет входящих.

Непойму. Вроде всё учел?
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915654
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Имя пользователя1
пропущено...
надо чтобы каждый увидел выступление каждого. А выступающие не могут смотреть выступления друг друга

Ага . Я понял. Рисуем орграф. 65 вершин. Несвязный.

Цель - сделать его полносвязным. Есть ограничения. В один день каждая вершина может поставить либо
сет исходящих рёбер. Либо сет входящих.

Непойму. Вроде всё учел?
да, похоже на то
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915655
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет не то. Тогда за 2 дня все решается. Нужно еще одно ограничение.
...
Рейтинг: 0 / 0
Относительно простые задачки
    #39915656
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Нет не то. Тогда за 2 дня все решается. Нужно еще одно ограничение.
всё верно.
просто если некая вершина в некоторый день добавляет к себе исходящие ребра (участник выступает), то те вершины, к которым эти ребра направлены, могут в тот день добавлять только входящие. И наоборот.
...
Рейтинг: 0 / 0
25 сообщений из 339, страница 3 из 14
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Относительно простые задачки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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