|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Чтобы не плодить топики, здесь будет всякая ерунда на один укус. Для начала поглумимся над классикой. Есть поезд, со множеством вагонов, без окон и т.д., замкнутый в круг, то есть последний вагон скреплен с первым. В каждом вагоне можно только включать и выключать свет, больши ничего менять нельзя, и все вагоны одинаковы. Изначально неизвестно, где свет горит а где нет. Надо посчитать количество вагонов, находясь внутри этого поезда и умея переходить между вагонами. Окон нет, наружу выглянуть нельзя. Алгоритм должен работать за линейное время. То есть если вагонов окажется N штук, то всяких действий не более чем O(N) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 13:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Ходить вперед-назад можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 13:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aklin Ходить вперед-назад можно? по сути всё то же самое как в оригинале, плюс ограничение на асимптотику ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 13:52 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 00:15 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Представляя себя машиной Тьюринга. Я могу бегать вправо(+1) влево(-1). Справа - включать свет во всех вагонах. Влево выключать. Сначала +1,-1. Потом +2,-2 и так далее пока половина вагонов не будет включена. При этом в уме считать. Получается асимптоматика вроде квадратичной. Цикл с увеличивающимся внутренним циклом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 01:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
У меня получается по три пробежки между точками A->B->A->B, далее точка B превращается в A и все повторяется, плюс одна финальная пробежка, когда во всех вагонах будет одинаковое состояние, по моей стратегии получается максимум 4*N проходов, вроде как удовлетворяет O(N). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 01:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev когда во всех вагонах будет одинаковое состояние, Когда в старом вагоне будет состояние, отличное от установленного ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 07:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. у меня было решение немного хуже, от 4N до 8N: ходить от некоего постоянного стартового вагона (с выключенным светом) вправо, включая везде свет и запоминая, в каком по счету вагоне последний раз был выключен, потом возвращаться и проверять стартовый. Забеги делать сначала на 1, потом на 2, потом на 4, на 8 вагонов и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 10:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. Как я понял, нельзя И метить и включать свет. либо одно, либо другое ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 13:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. Это не O(N), а O(N 2 ), т.к. действие это не проход от А до Б, а переход из вагона в вагон. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 13:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Это не O(N), а O(N 2 ), т.к. действие это не проход от А до Б, а переход из вагона в вагон. Ключевое место: назначаем вагон B вагоном A , т.е переход A(старый)<->B будет только при завершении обхода. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 13:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис 5N. финальная пробежка будет туда и обратно по всему поезду. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 13:52 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис 5N. финальная пробежка будет туда и обратно по всему поезду. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 13:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Dima T Это не O(N), а O(N 2 ), т.к. действие это не проход от А до Б, а переход из вагона в вагон. Ключевое место: назначаем вагон B вагоном A , т.е переход A(старый)<->B будет только при завершении обхода. Он ходит туда-сюда увеличивая проходимый отрезок. В худшем случае (изначально в вагоны в состоянии: 01010101010) будет такая последовательность переходов из вагона в вагон: 1,3,5,7...N, это арифметическая прогрессия, ее сумма ((1+N)/2)*N, т.е. O(N 2 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:00 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Все-таки сначала надо определиться что означает термин "действие". Проверка света в одном вагоне это действие? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:03 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 пропущено... да, точно. финальная пробежка будет туда и обратно по всему поезду. Dima T Соколинский Борис пропущено... Там все правильно, за исключением того, что это 5N. Ключевое место: назначаем вагон B вагоном A , т.е переход A(старый)<->B будет только при завершении обхода. Он ходит туда-сюда увеличивая проходимый отрезок. В худшем случае (изначально в вагоны в состоянии: 01010101010) будет такая последовательность переходов из вагона в вагон: 1,3,5,7...N, это арифметическая прогрессия, ее сумма ((1+N)/2)*N, т.е. O(N 2 ) Пройдя очередной отрезок АВАВ (то есть пройдя по нему 3 раза), он делает точку В стартовой и уже не будет за неё возвращаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Все-таки сначала надо определиться что означает термин "действие". Проверка света в одном вагоне это действие? Можно ещё переключение света и проверку так назвать, но на линейность асимптотики это не влияет, потому не заморачиваемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
982183 iOracleDev когда во всех вагонах будет одинаковое состояние, Когда в старом вагоне будет состояние, отличное от установленного ранее. Да, оба выражения отражают одно и то же. Aklin Как я понял, нельзя И метить и включать свет. либо одно, либо другое Ничего метить нельзя, можно только ходить из вагона в вагон по ходу или против хода поезда и включать или выключать свет в вагоне, кроме того можно считать вагоны. Буквами я их называю чтобы проще было понять алгоритм. Например вагон с которого начали пусть будет 0-й, следующий вагон принятый новой точкой отсчета например будет 5-й по счету от нулевого, следующий будет например 7-й по счету от 0-го и 2-й по счету от 5-го, т.е. никаких букв мы в вагонах не рисуем. Соколинский Борис Там все правильно, за исключением того, что это 5N. Ключевое место: назначаем вагон B вагоном A , т.е переход A(старый)<->B будет только при завершении обхода. Да, посчитал последнюю пробежку по всему кругу только туда, обратно упустил, получается 5N в худшем случае, в лучшем 2N. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Пройдя очередной отрезок АВАВ (то есть пройдя по нему 3 раза), он делает точку В стартовой и уже не будет за неё возвращаться. Как не будет если iOracleDev ... обозначим его буковкой B, включаем в нем свет и идем обратно в A ... O(N) будет если добавить возможность "телепортации" между А и Б, т.е. переход из А в Б это одно действие, т.к. вагоны между А и Б не интересны, их состояние известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:23 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я наверное был не прав. По моему методу также нелья понять при движении вправо - выключил ли я лампочку либо она просто уже была выключена. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T, Нет, каждый вагон посещается не более пяти раз, в самом плохом случае получаем 5*N. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис пропущено... Кстати, 4N можно добиться инверсией подключения и направления основного обхода Если при проходе B->A выключать во всех вагонах свет, то можно обратно в B не возвращаться, просто искать не первый выключенный, а первый включенный. 4N, на самом деле не получается, но будет <5N. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Как не будет если iOracleDev ... обозначим его буковкой B, включаем в нем свет и идем обратно в A ... iOracleDev назначаем вагон B вагоном A и далее повторяем описанную процедуру ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:41 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Если при проходе B->A выключать во всех вагонах свет, то можно обратно в B не возвращаться, просто искать не первый выключенный, а первый включенный. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Dima T, Нет, каждый вагон посещается не более пяти раз, в самом плохом случае получаем 5*N. Понял, ты продвигаешься постоянно вперед, т.е. А всегда смещается вперед, а Б где-то впереди А. Тогда O(N) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис Если при проходе B->A выключать во всех вагонах свет, то можно обратно в B не возвращаться, просто искать не первый выключенный, а первый включенный. Т.е. схема такая: когда идем CW первый вагон в цепочке выключен, остальные проверенные включены. когда идем CCW первый вагон включен, остальные проверенные выключены. При возврате в точку проверки каждый раз решаем в какую сторону идти - туда где меньше проверенных вагонов, и по ходу движения либо включаем проверенные, либо выключаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:52 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Дайте определение вагона А, как-то не особенно очевидно, что все тут срастается. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я думаю, тут лучше сразу на IT-шный язык перейти. Есть закольцованная R/W цепочка битов неизвестной длины и состояния, нужно найти длину. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Есть машина Тьюринга которая бегает по ленте завернутой в кольцо. На ленте - только нули и единички. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
... и указатель стоит на бите со значением b поехали ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton машина Тьюринга ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton машина Тьюринга Да у нее нет другой памяти кроме ленты. Но согласись. Было бы красивое решение? Да? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:29 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov ... и указатель стоит на бите со значением b поехали Просто все. Суть в том что сзади остаются единицы и проверяется что до следующего нуля круг вперед. Если нет, то 0 становится 1. Допустим исходное состояние Код: plaintext
Код: plaintext 1.
Код: plaintext 1.
Код: plaintext 1.
Код: plaintext 1.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:36 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Код: javascript 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:41 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Имя пользователя1 пропущено... которая к тому же умеет считать шаги, без этого можно только включить (или выключить) свет во всех вагонах Да у нее нет другой памяти кроме ленты. Но согласись. Было бы красивое решение? Да? и навскидку, такое решение есть для задачи "обнулить машиной Тьюринга все ячейки закольцованной ленты неопределенной длины". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 пропущено... так первый включенный и будет В :) то есть всё то же самое. Т.е. схема такая: когда идем CW первый вагон в цепочке выключен, остальные проверенные включены. когда идем CCW первый вагон включен, остальные проверенные выключены. При возврате в точку проверки каждый раз решаем в какую сторону идти - туда где меньше проверенных вагонов, и по ходу движения либо включаем проверенные, либо выключаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 16:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Соколинский Борис пропущено... Первый по ходу движения. Т.е. схема такая: когда идем CW первый вагон в цепочке выключен, остальные проверенные включены. когда идем CCW первый вагон включен, остальные проверенные выключены. При возврате в точку проверки каждый раз решаем в какую сторону идти - туда где меньше проверенных вагонов, и по ходу движения либо включаем проверенные, либо выключаем. можно на простом примере? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 16:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, есть два счетчика P/N: количество проверенных битов при движении вперед/назад Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 17:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Cорри, не дописал две итерации есть два счетчика P/N: количество проверенных битов при движении вперед/назад Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 17:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Да у нее нет другой памяти кроме ленты. Но согласись. Было бы красивое решение? Да? Хотя в твоем случае это по сути обычная машина Тьюринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 19:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Код: plaintext 1. 2. 3.
А потом возвращаемся обратно на два вагона, то есть всего 4 шага ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 19:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aklin, Долго объяснять, я запрограммировал оба варианта Код Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178.
Результаты Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 22:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 22:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Сможем - ли мы посчитать площадь поверхности тора таким-же образом окрашивая клетки в 0 или 1 для случайной поверхности где записан шум? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 23:36 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Сможем - ли мы посчитать площадь поверхности тора таким-же образом окрашивая клетки в 0 или 1 для случайной поверхности где записан шум? а вот как обнулить все клетки клеточным автоматом вроде двумерной машины Тьюринга, который может только записывать ячейку, смотреть ячейку, и двигаться на одну из 4 соседних, но не умеет считать - это уже интересный вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 23:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Дали бы третий цвет... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 00:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 10:47 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 11:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Шестьдесят четыре артиста выступают в первый день для одного зрителя. На следующий день - сольное выступление для шестидесяти четырёх зрителей. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 11:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Шестьдесят четыре артиста выступают в первый день для одного зрителя. На следующий день - сольное выступление для шестидесяти четырёх зрителей. Я имел в виду, что у каждого свой уникальный фокус. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 11:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. Меньше 65 не придумал - по одному в день. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 12:46 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Имя пользователя1 господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. Меньше 65 не придумал - по одному в день. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 12:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис пропущено... Есть какие-то ограничения на количество выступлений? Если нет, то ответ - бесконечность (Кто-то решил выступать каждый день) OK, формализуем задачу. Есть квадратная матрица размера N. По столбцам - "я посмотрел", по строкам - "меня посмотрели". Исходно она единичная (я себя уже видел, остальные - нет), нужно ее полностью заполнить за минимальное количество итераций. В каждой итерации может быть любое множество элементов (S). Если элемент k входит в S, при выполнении итерации для элемента k заполняются единицами все элементы в к-той строке, кроме тех, кто входит в S. Для начала определимся с оптимальным числом элементов в S (максимизируем количество установленных единиц при выполнении итерации). Получаем рекурентную формулу (1) если ее развернем, получим (2): Оптимум достигается при K=[N/2] т.е каждый день должно выступать 32 участника. Исходя из оптимального соотношения за первые два для заполняем два квадранта матрицы (в первый день верхний правый, во второй - нижний левый) Оставшиеся квадранты разбиваем по той же схеме ("верхние"/нижние) Получаем окончательную формулу: При N=65 D= 12 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 12:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис D= 12 тут всё проще намного, только надо "с другого конца" зайти. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 13:00 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, "Матричный конец" мне кажется вполне разумным и максимальное количество выступающих в день тоже. Очевидно также, что более четверти в день заполнить невозможно, т.е. D>=4. Проблема в том, что при такой схеме матрица заполняется неравномерно. Интуитивно хочется делать блоки выступающих порядка и перетасовывать их, но пока не придумал как. Если придумаю, будет 8-9 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 14:27 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, говорю же - посмотри на эту задачу с обратной стороны. Всё моментально встанет на свои места самым очевидным образом. Ну кроме док-мина, это отдельная вишенка на торте. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 14:42 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис, говорю же - посмотри на эту задачу с обратной стороны. Всё моментально встанет на свои места самым очевидным образом. Ну кроме док-мина, это отдельная вишенка на торте. Сейчас пока не могу. Пока на предыдущую (вагоны) посмотрю. Условия те же, нужно придумать алгоритм, который работает как O(2N) с вероятностью >=(1/2) 2N ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 15:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 Соколинский Борис, говорю же - посмотри на эту задачу с обратной стороны. Всё моментально встанет на свои места самым очевидным образом. Ну кроме док-мина, это отдельная вишенка на торте. Сейчас пока не могу. Пока на предыдущую (вагоны) посмотрю. Условия те же, нужно придумать алгоритм, который работает как O(2N) с вероятностью >=(1/2) 2N а именно, для случаев, когда во всех вагоны, кроме стартового, свет включен. В стартовом неважно, всё равно он выключается первым же действием. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 15:12 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 а именно, для случаев, когда во всех вагоны, кроме стартового, свет включен. В стартовом неважно, всё равно он выключается первым же действием. P>=1-(1/2) 2N ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 15:23 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton Да у нее нет другой памяти кроме ленты. Но согласись. Было бы красивое решение? Да? и навскидку, такое решение есть для задачи "обнулить машиной Тьюринга все ячейки закольцованной ленты неопределенной длины". Каким образом золотой рыбке понять, что лента пройдена? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 15:47 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Имя пользователя1 пропущено... согласен. и навскидку, такое решение есть для задачи "обнулить машиной Тьюринга все ячейки закольцованной ленты неопределенной длины". Каким образом золотой рыбке понять, что лента пройдена? Если там только одна единица, то всё, просто обнуляем её. Иначе обнуляем обе единицы и идем вперед к той единице, которую оставили, рядом с ней ставим ещё одну и всё повторяем. В общем, по аналогии с твоим решением. Тоже линейное время получится. Всё это можно обыграть состояниями и переходами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:00 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, у меня получилось 8 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov Соколинский Борис, у меня получилось 8 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:36 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Не работает, золотая рыбка проплыв из одного вагона в другой имеет состояние только текущего вагона, т.е. 0 или 1, она не помнит что было в предыдущем, у нее нет дополнительных регистров памяти, она не может анализировать последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Имя пользователя1, Не работает, золотая рыбка проплыв из одного вагона в другой имеет состояние только текущего вагона, т.е. 0 или 1, она не помнит что было в предыдущем, у нее нет дополнительных регистров памяти, она не может анализировать последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Я зацепился за фразу - нет другой памяти кроме ленты, флаг состояния это уже внешняя по отношению к ленте память, а так да красивое решение требующее меньший объем информации и не проигрывающее в скорости. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 iOracleDev Имя пользователя1, Не работает, золотая рыбка проплыв из одного вагона в другой имеет состояние только текущего вагона, т.е. 0 или 1, она не помнит что было в предыдущем, у нее нет дополнительных регистров памяти, она не может анализировать последовательности. Машина представляет собой конечный автомат. Тоесть количествое ее внутренних состояний лимитировано. Лента - предполагает собой данные. Или диск. Как вам будет угодно. И благодаря этой ленте можно реализовывать различные алгоритмы которые могут потребовать бесконечного набора данных. Или очень большого. Поэтому я-бы различал FSM и память. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 17:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Имя пользователя1 пропущено... согласен. и навскидку, такое решение есть для задачи "обнулить машиной Тьюринга все ячейки закольцованной ленты неопределенной длины". Каким образом золотой рыбке понять, что лента пройдена? Моё решение - длинное. И судя по всему квадратичное. Бегать влево и вправо с расширяющимся циклом на единичку. И делать инверсию света. Если инверсия слева - совпала с инверсией справа (2 проверки) то это наш вагон и длина состава равна сумме двух полу-циклов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 18:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 господа, вспомнился ещё паззл умеренной сложности. На фестиваль фокусников приехало 65 участников. Так уж заведено правилами, что в любой день участник может либо выступать, либо смотреть выступления других, но нельзя и то и другое. Какое минимальное количество дней достаточно для фестиваля, чтобы каждый увидел выступление каждого? С доказательством минимальности. В первый день - выступили 33. Оставшиеся 32 их посмотрели. На следующий день выступили 32 и их посмотрели 33. 2 дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 18:58 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Соколинский Борис пропущено... Есть какие-то ограничения на количество выступлений? Если нет, то ответ - бесконечность (Кто-то решил выступать каждый день) В первый день - выступили 33. Оставшиеся 32 их посмотрели. На следующий день выступили 32 и их посмотрели 33. 2 дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton пропущено... В первый день - выступили 33. Оставшиеся 32 их посмотрели. На следующий день выступили 32 и их посмотрели 33. 2 дня. Ага . Я понял. Рисуем орграф. 65 вершин. Несвязный. Цель - сделать его полносвязным. Есть ограничения. В один день каждая вершина может поставить либо сет исходящих рёбер. Либо сет входящих. Непойму. Вроде всё учел? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Имя пользователя1 пропущено... надо чтобы каждый увидел выступление каждого. А выступающие не могут смотреть выступления друг друга Ага . Я понял. Рисуем орграф. 65 вершин. Несвязный. Цель - сделать его полносвязным. Есть ограничения. В один день каждая вершина может поставить либо сет исходящих рёбер. Либо сет входящих. Непойму. Вроде всё учел? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Нет не то. Тогда за 2 дня все решается. Нужно еще одно ограничение. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:41 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Нет не то. Тогда за 2 дня все решается. Нужно еще одно ограничение. просто если некая вершина в некоторый день добавляет к себе исходящие ребра (участник выступает), то те вершины, к которым эти ребра направлены, могут в тот день добавлять только входящие. И наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Наклёвывается алгоритм. Но формулы пока нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 19:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Aleksandr Sharahov Соколинский Борис, у меня получилось 8 Как делать? - написать программу ) Пример расписания выступлений фокусников с номерми 0..64 на 8 дней: 0,1,5,8,13,16,18,21,22,25,26,27,28,29,30,31,34,35,37,38,42,44,47,48,49,50,53,54,58,61,63,64 1,2,4,5,6,7,11,13,14,15,17,18,19,20,22,23,24,28,29,33,34,35,36,39,43,45,48,49,50,57,60,64 0,3,4,5,6,7,8,9,10,12,14,17,18,19,21,24,26,27,29,31,32,36,37,40,43,46,47,55,56,57,58,62,64 0,2,3,4,9,10,11,12,13,14,15,16,19,20,21,29,33,34,38,39,40,42,43,44,47,48,51,52,54,56,59,61 0,1,3,4,11,15,16,17,18,23,24,25,26,27,28,30,34,37,39,40,41,42,46,49,51,52,53,55,56,57,60,61,62 5,6,8,9,11,12,13,19,20,21,22,23,27,28,30,32,33,35,36,38,41,44,45,52,53,55,56,57,58,59,61,62,63 2,3,6,7,8,9,10,17,22,23,25,26,30,31,32,33,38,39,41,42,43,45,46,47,49,50,51,54,59,60,62,63,64 1,2,7,10,12,14,15,16,20,24,25,31,32,35,36,37,40,41,44,45,46,48,50,51,52,53,54,55,58,59,60,63 И почему меньше нельзя? Надо набрать 4160 ребер. Меньше, чем за 8 дней не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 11:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, это шикарно. Но ты выдал нам нечитаемую колбасу из цифр. Неужели ты думаешь что кто-то будет их читать? В задаче нам интересен принцип. Доказательсто. И ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 12:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
интересно, что за 8 дней на тех же условиях может выступить большее количество фокусников ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 12:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Aleksandr Sharahov, это шикарно. Но ты выдал нам нечитаемую колбасу из цифр. Неужели ты думаешь что кто-то будет их читать? В задаче нам интересен принцип. Доказательсто. И ответ. неужели ты думаешь, что никто не хочет получить удовольствие от самостоятельного решения задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 12:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Просто ты подразнил всех готовым ответом. А это - как-то не совсем честно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 12:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Просто ты подразнил всех готовым ответом. А это - как-то не совсем честно. Ответ не единственный, их целое множество, вот еще один: 0,1,5,6,7,8,9,10,14,16,20,21,22,25,28,29,32,33,34,35,39,40,43,47,48,50,55,57,58,59,61,62,64 3,5,6,9,12,15,16,17,18,20,21,23,24,26,29,30,31,34,35,37,40,42,44,45,46,50,51,52,57,60,62,63,64 0,1,2,3,4,5,8,10,12,13,15,18,19,20,22,24,26,27,35,39,41,42,43,45,51,53,54,55,56,57,59,62,63 4,6,7,11,13,17,18,19,21,23,24,25,27,28,30,35,36,38,39,43,44,45,48,53,56,58,59,60,61,63,64 0,1,2,5,10,11,14,16,24,25,26,27,28,30,31,33,34,36,38,40,41,42,43,44,46,47,49,51,52,53,54,56,58,64 3,4,7,8,9,10,11,12,14,17,18,19,22,26,27,28,29,32,33,36,37,40,41,46,49,52,54,59,60,61,62 1,2,4,6,8,9,11,12,13,15,23,25,31,32,33,34,37,38,42,44,45,46,47,48,49,50,54,55,56,57,60,61 0,2,3,7,13,14,15,16,17,19,20,21,22,23,29,30,31,32,36,37,38,39,41,47,48,49,50,51,52,53,55,58,63 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 12:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Автор пишет С доказательством минимальности. Я не проверял твои данные. Возможно они верные. Но ты просто подтвердил что твой код генерирует как минимум несколько решеней. Это хорошо. Но в качестве доказательства нужна либо формула с выводом либо пошагово алгоритм из которого станет всем очевидно что это и есть доказательство минимальности. Что поделаешь. Такие мы айтишники. Видим мир сквозь призму алгоритмов. Ну ... это не так уж плохо пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 15:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Автор пишет С доказательством минимальности. Я не проверял твои данные. Возможно они верные. Но ты просто подтвердил что твой код генерирует как минимум несколько решеней. Это хорошо. Но в качестве доказательства нужна либо формула с выводом либо пошагово алгоритм из которого станет всем очевидно что это и есть доказательство минимальности. Что поделаешь. Такие мы айтишники. Видим мир сквозь призму алгоритмов. Ну ... это не так уж плохо пока. Как айтишник айтишнику: Проверить правильность решения может каждый знакомый с компьютером, а доказательство минимальности я оставляю читателю. Возможно, кому-то будет интересно решить двойственную задачу: найти максимальное количество фокусников, выступающих на 8-дневном фестивале. Скажу сразу, что у меня есть решения этой задачи для нескольких N>65, но по сложившейся традиции нет доказательства максимальности )) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 16:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Ох уж эти брутфорсеры) Здесь интересна простая идея, а не конкретное расписание выступлений. Различных расписаний так много, что ни одно из них не представляет ценности. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 19:19 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я с тобой согласен. Давай от индукции. 1 фокусник - лишено смысла. 2 - фокусника. 2 дня. Один выступает. Другой смотрит. Потом меняются. 3 - фокусника и т.д. Я расчитываю узреть формулу. Раньше чем достигнем числа 65. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 19:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Решим общую задачу: если на конкурс приехали k фокусников, то какое минимальное число N дней понадобится? Нарисуем квадрат A размером kxk и в каждую ячейку запишем число 1..N по правилам: если A(i,j) = n, то i-й участник первый раз выступал для j-го зрителя в n-й день. Диагональ A(i,i) оставим пустой. Все ячейки, кроме диагональных, должны быть заполнены. Такж заметим, что если в строке i содержится число n, то это число не может содержаться в столбце i - выступающий не может быть зрителем в один и тот же день. И наоборот, если i-й столбец содержит n, то i-я строка n не содержит. Т.е., для любого i половина чисел из набора 1..N должна идти в i-ю строку, а оставшиеся - в i-й столбец. Осталось найти такое N, чтобы количество сочетаний из N по N/2 было >= k. Для k=65 минимальное N=8. C(8,4)=70. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
В треугольнике Паскаля число 70 стоит в диагонали. Это значит что оно не может соответствовать C(8,4) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
berlaga Решим общую задачу: если на конкурс приехали k фокусников, то какое минимальное число N дней понадобится? Нарисуем квадрат A размером kxk и в каждую ячейку запишем число 1..N по правилам: если A(i,j) = n, то i-й участник первый раз выступал для j-го зрителя в n-й день. Диагональ A(i,i) оставим пустой. Все ячейки, кроме диагональных, должны быть заполнены. Такж заметим, что если в строке i содержится число n, то это число не может содержаться в столбце i - выступающий не может быть зрителем в один и тот же день. И наоборот, если i-й столбец содержит n, то i-я строка n не содержит. Т.е., для любого i половина чисел из набора 1..N должна идти в i-ю строку, а оставшиеся - в i-й столбец. Осталось найти такое N, чтобы количество сочетаний из N по N/2 было >= k. Для k=65 минимальное N=8. C(8,4)=70. Я примерно так же решал: среди 8 дней есть 70 разных способов выбрать 4 дня для выступлений, то есть хватит на всех, при этом если рассмотреть любую пару участников, то найдётся день, когда один из них выступает, а другой смотрит, и наоборот. Минимальность для 65 доказывал по индукции. Если для М участников надо не меньше К дней, то для 2М+1 участников понадобится хотя бы К+1 дней, потому что после первого дня либо среди зрителей, либо среди выступающих будет по крайней мере М человек, которые не видели друг друга. Начинаем с 2 человек и 2 дней, и по этой формуле доходим до 8 дней для 65. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:27 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton В треугольнике Паскаля число 70 стоит в диагонали. Это значит что оно не может соответствовать C(8,4) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:29 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
daycount=8 mancount=70 Done 4830 1,2,7,9,10,13,16,17,18,19,20,21,24,26,28,30,31,33,34,35,36,43,46,47,51,53,55,57,60,61,62,64,67,68,69 2,3,4,5,7,11,14,17,18,21,22,24,26,27,32,36,37,40,42,44,47,49,50,51,53,54,56,57,58,59,62,64,65,66,68 0,1,6,8,10,11,12,15,20,23,27,30,32,33,38,39,40,41,46,47,49,50,51,52,53,55,56,58,60,61,62,64,65,66,69 0,1,2,4,5,6,9,10,12,13,14,15,16,18,25,26,27,28,29,30,34,37,38,39,43,44,46,47,48,50,56,59,63,65,68 3,5,8,9,10,12,13,16,20,21,23,24,25,29,31,35,36,38,39,42,44,45,48,49,50,51,52,54,58,59,61,66,67,68,69 3,4,5,6,7,8,9,14,15,17,19,21,22,23,26,28,29,32,33,34,35,39,40,41,42,45,46,48,53,60,63,65,66,67,69 0,2,3,6,7,8,11,12,13,14,19,22,24,25,28,29,30,31,32,35,37,41,43,44,45,52,54,55,56,57,58,60,61,62,63 0,1,4,11,15,16,17,18,19,20,22,23,25,27,31,33,34,36,37,38,40,41,42,43,45,48,49,52,54,55,57,59,63,64,67 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 20:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton В треугольнике Паскаля число 70 стоит в диагонали. Это значит что оно не может соответствовать C(8,4) А ну ОК. Я просто уточнял. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2020, 21:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Придумал вариант первой задачи топика для двухмерного пространства и машины Тьюринга. Есть клеточное поле, размером NxM, причем натуральные числа N и M неизвестны. В каждой клетке может быть 0 или 1, исходная расстановка неизвестна. Поле является тором: если уйти за верхний край, окажешься снизу, за правый - слева, и т.д. В общем, как замкнутая лента, только двухмерная. Есть машина Тьюринга, с конечным набором состояний, и указателем на текущую ячейку. Программа выглядит как набор инструкций (State, bit) -> (State, bit, move): то есть в зависимости от текущего состояния машины и содержимого (бита) ячейки выбрать новое состояние, записать в ячейку новый бит (или оставить прежний), и сдвинуться куда-то - вверх, вниз, вправо или влево. Требуется обнулить все ячейки за время порядка O(N*M) пояснение: машина Тьюринга не умеет считать, может только менять состояние - целое число от 1 до K. Программа не должна зависеть от M, N и стартового содержимого ячеек. Перед стартом текущий указатель ставится в одну из ячеек, без разницы какую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 15:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Сначала по твоему методу делаешь один ряд в одном из измерений, дальше отталкиваясь от этого ряда твоим же методом проходишь по всем рядам другого измерения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 15:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Имя пользователя1, Сначала по твоему методу делаешь один ряд в одном из измерений, дальше отталкиваясь от этого ряда твоим же методом проходишь по всем рядам другого измерения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 16:12 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Сначала надо определить M,N. Изначально мы стоим в ячейке (0,0) условно. 1) Бегаем по тору по горизонтали от (0,0) по алгоритму поезда. который мы уже заем. Вычисляем M. 2) Бегаем по вертикали от (0,0) и определяем N 3) Дальше просто в двойном цикле проходим змейкой по тору и устанавливаем нули во все ячейки. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:46 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Хотя змейка тут не нужна. Тут-же тор. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2020, 19:47 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Ещё вспомнилась. Разбить всё множество натуральных чисел на 3 части таким образом, чтобы числа m, 2m и 3m всегда попадали в разные части (m - любое натуральное) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 12:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, что нужно указать в качестве разбиения натуральных? (ибо словесное определение уже само есть описанием разбиения, если оно конечно существует) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 21:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
что мешает засунуть каждое число в свою часть, содержащую только это число? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 23:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 что нужно указать в качестве разбиения натуральных? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 00:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov что мешает засунуть каждое число в свою часть, содержащую только это число? Или я не понял вопрос... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 00:09 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Вообще говоря, полностью задача такая: для любого k придумать разбиение множества натуральных чисел на k частей, чтобы числа m, 2m, 3m, ..., k*m попадали в разные части. Понятно, как это делать для конкретных k, но общий способ что-то не придумывается... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 00:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, я бы не сказал, что понятно даже для 3-х. Обзовём классы: х 2х 3х. 1 обязана быть в классе х. Строим: х 2х 3х1 2 34 8 12 5 10 156 12 ..... Сначала всё однозначно, но при х=6, я впадаю в ступор, дважды случается 12. Что я не так делаю? требую разоблачения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 10:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Что я не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 08:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, дорогой, я ведь не сам фокус прошу разоблачить. Что Я не так деляю, из=за чего получаю ротиворечие? Или чего-то не увидел в формулировке. Чего не увидел? или классы могут пересекаться, или не всё из 2Х 3Х имеет Х, или ..? Тут же все шаги обязаловка (ИМХО): (1,2,3) обязательно. И вообще все остальные простые в Х, в 2Х - подмн-во чётных, в 3Х - подмн-во кратных 3. Затем вычёркиваем наподобие Эратосфена с той разницей, что м.б. ветвления. Но далее: (4 8 12) - обязат, (5 10 15) - обязат 6 обязат в Х, иначе противоречие с п.1 и тогда (6 12 18) ?? Итого 12 в 2Х и в 3Х одновременно. Значит 6 не мо.б. в Х. Где ж тогда?.. И значит невозможно. Что не так в ситуации? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 13:27 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98, возможно, в табличке некоторые числа "сели не в свои сани" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 13:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
А чё было прямо не сказать, что не требуется обязательно К в Х, 2К в 2Х .., главное чтоб всегда в разные? или снова не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:15 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 главное чтоб всегда в разные? Про обязательные в условии ничего не сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
А что с поездом? Автор заказывал алгоритм с O(n). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton А что с поездом? Автор заказывал алгоритм с O(n). моё решение тут 22060460 , последняя строка ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 22:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
У вас-же квадратичная сложность. С каким-то коеффициентом но все равно - площадь. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:19 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
ещё был вариант, который я так и не понял) но там реально больше 3.5*N не было ни при каких раскладах 22061152 SearchBi ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton У вас-же квадратичная сложность. С каким-то коеффициентом но все равно - площадь. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Если продублировать рисунок поезда несколько раз (как матрицу) и обозначить на нем посещения вагонов - то будет рисунок наподобие пирамиды или расширяющейся трапеции. Это суть - площадь от N. Тоесть квадратичная сложность. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Если продублировать рисунок поезда несколько раз (как матрицу) и обозначить на нем посещения вагонов - то будет рисунок наподобие пирамиды или расширяющейся трапеции. Это суть - площадь от N. Тоесть квадратичная сложность. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Вот это хождение по поезду туда-сюда повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. Это суть - вложенный цикл. Который расширяется до N. Как треугольная матрица. Он - полиномиален. И степень полинома - количество вложенных циклов. Если два цикла - квадрат. Три цикла - куб и так далее. Если внутренний цикл расширяется или сужается это "тем не менее" полином второй степени. Просто с делителем. И я не понимаю как вы в этой задаче можете гарантировать N. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton, После проверки каждого отрезка точка А перемещается в начало следующего, нет полных обходов поезда. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 00:00 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton, там уже разобрали и согласились, что 5N, читай первую страницу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 00:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Ну сорян тогда я ошибся. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 00:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Я так думаю: Сначала 1 2 3 Затем: ПРОИЗВЕД(pi^ki) * (2^2a+1 * 3^2b) * (3^2d+1 * 2^2c) (скобки в показателях степени опущены). Мож и допилить надо, да не царское это дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 22:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 (2^2a+1 * 3^2b) * (3^2d+1 * 2^2c) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 22:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, конспиратор, японамать. pi - простые, окромя 2 и 3 ki a b c d -- показатели сепени (натуральные, и 0 там, где нужно) i -- натуральный индекс по простым множителям Соответственно в классе Х все, кто не делится на 2 и 3 в 2Х -- они же домноженные на нечётные степени 2 и чётные 3 в 3Х -- аналогично, но 3 в нечётной и 2 в чётной. Полагаю, очень близко к ответу, но у меня закончились карандашные грифили, они очень ломкие ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 23:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Соответственно в классе Х все, кто не делится на 2 и 3 в 2Х -- они же домноженные на нечётные степени 2 и чётные 3 в 3Х -- аналогично, но 3 в нечётной и 2 в чётной. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 23:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. Если будет дан поезд с 1000 вагонами где свет включен в четных вагонах и выключен в нечётных (worst case) данный алгоритм КМК все таки получаем квадратичную сложность. Под элементарной операцией я подразумеваю движение в любую сторону и действия со светом. Если я прав - то состав с 2000 вагонами приведет к увеличению количества операций не в два а в большую величину. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 02:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. Если будет дан поезд с 1000 вагонами где свет включен в четных вагонах и выключен в нечётных (worst case) данный алгоритм КМК все таки получаем квадратичную сложность. Под элементарной операцией я подразумеваю движение в любую сторону и действия со светом. Если я прав - то состав с 2000 вагонами приведет к увеличению количества операций не в два а в большую величину. Увеличение в два раза увеличит операции в два раза. Тут я пример обхода давал 22060734 PS Худший случай - свет везде потушен. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 07:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Твой пример с указателями? Дима в поезде нет указателей. Чтобы проверить инверсию света в первом вагоне тебе надо в этот первый вагон физически добежать. Тоесть вернуться обратно сделав N шагов алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 11:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Твой пример с указателями? Дима в поезде нет указателей. Чтобы проверить инверсию света в первом вагоне тебе надо в этот первый вагон физически добежать. Тоесть вернуться обратно сделав N шагов алгоритма. фишка в том, что в режиме "обратного хода" он проходит через каждый вагон ровно один раз, никакой вагон не посещается дважды ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 11:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton, просто возьми бумагу и ручку, и проверь описанный алгоритм для двух-трех случаев. Все вопросы отпадут ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 11:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Твой пример с указателями? Дима в поезде нет указателей. Хоть как называй: указатели, смещения и т.д. и т.п. Александр попросил назвать указателем, я назвал. На работу алгоритма это никак не влияет. mayton Чтобы проверить инверсию света в первом вагоне тебе надо в этот первый вагон физически добежать. Тоесть вернуться обратно сделав N шагов алгоритма. Верно, так и происходит. Прочитай внимательно тот мой пост. Суть алгоритма в том что нет постоянного первого вагона, на каждой итерации другой вагон становиться первым. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 12:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 так и не понял, где число 42... Если не ошибся, то умножение на 2 или на 3 переводит любое число в разные классы. В то же время классы не пересекаются согласно формуле: X1= {2^3a * 3^3b}, здесь оба вычета по модулю 3 равны, X2= {2^3c+(1 2 0) * 3^3d+(0 1 2)} , здесь его вычет соответственно (1 2 0) и (0 1 2) X3= {2^3e+(0 1 2) * 3^3f+(1 2 0)}, аналогично , где a b c d e f >=0 (1 2 0) это как бы в векторном виде. По этой классификации 42= 2*3 *(7). Вычеты показателей степени равны, значит Х1, вместе с 1. 2= 2^1 * 3^0, класс Х2 3= 2^0 * 3^1, класс Х3 4= 2^2 * 3^0, класс Х3 6= 2^1 * 3^1, класс Х1 12= 2^2 * 3^1, класс Х2 18= 2^1 * 3^2, класс Х3 и т.д. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 19:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Добавлю: классная задачка, никогда таких не решал. Здесь в одной куче сразу циклы, вычеты и простые числа. З.Ы. об обобщениях не думал. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 19:29 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98, Да, всё верно, здесь именно про вычеты и т.д.) Но интересна эта задача именно в общем виде. Идею можно разглядеть, если решить не для 3, а например для 6 или даже лучше для 10. Тогда и появляется вишенка на торте - вопрос о том, можно ли это сделать для любого количества классов. Я пока не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 21:30 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Пока мне кажется, что это зависит от возможности разложить К*К комбинаций вычетов на К циклов с какими-то св-вами. Может "не всё так просто" , та самая клюквочка скажется, не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 X1= {2^3a * 3^3b}, здесь оба вычета по модулю 3 равны, X2= {2^3c+(1 2 0) * 3^3d+(0 1 2)} , здесь его вычет соответственно (1 2 0) и (0 1 2) X3= {2^3e+(0 1 2) * 3^3f+(1 2 0)}, аналогично , где a b c d e f >=0 (1 2 0) это как бы в векторном виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 12:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Ну наверное так и есть. Тут возникла мысль, она же и вопрос на обобщение задачи. Нужно было разбить натуральные числа на 3 непересекающихся класса, а обобщение: разбить на К классов, так? Вы пишете, что общий алгоритм не вырисовывается, хотя для каждого К вроде получается эд хок? Вчера я пораскидал мозги на пробу для 10, сегодня весь день на ходу что-то крутилось в голове. Поток сознания получился вроде того: Если в разложении М отсутствуют все множители из формулировки (*2 *3 *4 ... *К), а любое такое число и мн-во их будем называть А. Класс Х1 будет (предварительно) содержать А. Причём Х1 <> А. Остальные классы назовём Х2 Х3 Х4 ... Есть К классов (ящиков) Х1 Х2 Х3 Х4 ... Хк Есть К-1 множителей (*1) *2 *3 *4 ... *К Для каждого М есть вектор из К произведений (м*1 м*2 м*3 м*4 ... м*К). В т.ч, к примеру, если м1= А*3 , то вектор произведений будет 3*(А*1 А*2 А*3 А*4 ... А*К). Умножение эквивалентно прибавлению 1 в одной координате вектора степеней (a b c d e f g ...). Надо чтобы добавление 1 переводило число в другой класс, и чтобы так было в любом классе. .......... у нас К координат, значит д.б. К значений (e+i). И мы знаем, что a=вычеты по модулю 2 (a=V(2)), b=V(3), c=V(4) ... Так приходим к вектору вычетов и к циклам по вычетам. Вроде К "шестерёнок" на одной оси. Но в каждой к-те своя длина цикла. А если множитель= 7, а классов 10? 7 вычетов нехватает для 10 классов, и 10 не делится на 7 оборотов. А если множитель= 4, то имеем (2^a 3^b 2^2c) ....... Как-то надо использовать НОК(). Так вот предложение есть. Если вдруг ещё нет описания обобщённого решения, если трудно это сделать ручками, может быть программно формировать формулу для каждого К? Причём формировать формулу в текстовом виде (примерно как для К=3 или в виде массивов). Может программа даст опору для формулировки формулы. Я потому имею ввиду текстовую форму, что поначалу не оставляет надежда, что метод для К=3 можно обобщить. Но это пока надежда (искать в инете лень). Голосуйте либо кидайте тухлыми томатами (помидоры нынче отменили). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 21:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Нужно было разбить натуральные числа на 3 непересекающихся класса, а обобщение: разбить на К классов, так? числа m, 2m, 3m, ..., K*m должны попадали в разные классы, для любого m надо просто обобщить формулу 22068507 Если К=6, то для числа m = (2 a * 3 b * 5 c * X) номер класса получается (1*a + 3*b + 5*с) mod 6 вот в этих числах - в данном случае (1, 3, 5), но для других К будут другие наборы - вся собака и зарыта. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 22:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Возился с К=4. В сравнении с 3 тут 2^x покрывает все 4^у. У меня менее красивый метод: все комбинации остатков. Получились след. комбинации наборов остатков (слева единственный столб для 3, справа перестановки для 2 при соответств. 3-вычете). вычеты"3" "2":х1 х2 х3 х40 0 1 2 31 1 2 3 02 2 3 0 13 3 0 1 2 Для К=5 метод аналогичный, только матрица уже 3Д, и 2-остатки должны быть в комбинации с матрицей "для-3" х "для-5" Что-то похожее для 6. Но есть особенность, *6=2*3 даёт одновременное прибавление по 1 в двух позициях. Поэтому нельзя, чтобы в одной строке матрицы для "2" х "3" стояли однаковые остатки. Похожим способ и далее. Только размерность растёт и метод дальше не получается наглядным. Поэтому и предлагал программку составить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2020, 16:52 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Возился с К=4. В сравнении с 3 тут 2^x покрывает все 4^у. У меня менее красивый метод: все комбинации остатков. Получились след. комбинации наборов остатков (слева единственный столб для 3, справа перестановки для 2 при соответств. 3-вычете). вычеты"3" "2":х1 х2 х3 х40 0 1 2 31 1 2 3 02 2 3 0 13 3 0 1 2 здесь каждая дополнительное умножение на 2 добавляет 1 к номеру группы, а умножение на 3 добавляет 3. Умножение на 4 добавляет 2, и таким образом, ничего не накладывается друг на друга. exp98 Что-то похожее для 6. Но есть особенность, *6=2*3 даёт одновременное прибавление по 1 в двух позициях. Поэтому нельзя, чтобы в одной строке матрицы для "2" х "3" стояли однаковые остатки. и когда составляем формулу, надо так подобрать коэффициенты, чтобы эти комбинации не пересекались. Главный вопрос - всегда ли это возможно. например, для 10: (1*a + 4*b + 6*с + 9*d) mod 10, где a, b, c, d - степени при 2, 3, 5, 7, а числа 1,4,6,9 - коэффициенты. для небольших N коэффициенты всегда легко подбираются. Для больших подобрать трудно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 12:31 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 .... как раз это получается по формуле (a+3b) mod 3, в той схеме, которую я приводил ... Для больших подобрать трудно. И для 4 у меня вышло, что (a+3b)mod 4 это ещё одно решение (как и a+7b, a+11b ...) остаток 3, и в рез-те комбинации 00 22 и 11 33 разнеслись в 2 класса А как в моём посте, так это (a+5b)mod 4 остаток 1. И в нём все 00 22 11 33 в одном классе. Что-то не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, ещё я вот что хотел спросить. Год назад читал РАН, Дискретная мат-ка, 2004 г, Системы образующих для групп с заданными св-вами. Там про использование сплетения групп и полугрупп, чтобы получать заранее заданные св-ва. Читал, читал, разобрался на <20%. Вдруг наведёт на общее решение. А вообще же одн и тот же алгоритм не бобязан существовать для всей "массовой проблемы". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2020, 23:30 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Нашёл, что линейная комбинация необязательна. Ещё есть резерв - показатель степени. Напр К=4 вычеты "3"| "2":х1 х2 х3 х40| 0 1 2 31| 1 2 3 02| 0 1 2 33| 1 2 3 0 формула (b + (a + (b+1)mod 2)) mod 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2020, 20:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 формула (b + (a + (b+1)mod 2)) mod 4 Код: javascript 1. 2. 3.
можно легко проверить, что практически для каждой пары (а, b) будут повторы среди f(a,b), f(a+1,b), f(a+2,b), f(a,b+1), а должны быть уникальными. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 13:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Эх, всё спутал, сделал как хотел. формула: b+ (a+ 2* (b mod 2)) mod 4 Проверка (по вертикали a=const, по горизонтали b=const): Код: sql 1. 2. 3. 4. 5.
Соответствует моей матричной записи: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 20:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 b+ (a+ 2* (b mod 2)) mod 4 а последние две формулы одинаковы, потому что в кольце вычетов по модулю 4, добавить 3 или вычесть 1 - без разницы итого, от линейной комбинации никуда не ушли. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 21:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Надо же, равенства не проверял, я на бумажке, а на ней изначальные матрицы разнились. Посмотрю ... А вот по поводу 10. Где я ошибаюсь? По поводу формулы для 10: (1*a + 4*b + 6*с + 9*d) mod 10 Написал формализацию задачи, если формула линейная вида k2*a + k3*b + k5*c + k7*d. множители 2 3 5 7 показатели степени a b c d коэф-ты в линейной формуле к2 к3 к5 к7. Общее ограничение: все ki>0 Ограничения на принадлежность одному классу наращиваются с ростом порядка задачи аналогично такому: (k2+k3), (k2+k5) <>0 mod 10, 2*k2, 3*k2, 2*k3 <>0 mod 10. Остатки для линейной формулы с положительными коэф-тами {ki} и с шагом, к-рый соответствует умножению на ki= j ( т.е.цифре при +rj) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... здесь убрал свой вопрос, кажется допёр ... Это ещё не проверял: (a + b + с + d) mod 10. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 22:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Общее ограничение: все ki>0 Ограничения на принадлежность одному классу наращиваются с ростом порядка задачи аналогично такому: (k2+k3), (k2+k5) <>0 mod 10, 2*k2, 3*k2, 2*k3 <>0 mod 10. общее ограничение можно сделать так 0 < ki <10 потому что в итоге всё равно будет mod 10 вот 9 значений, которые символизируют умножение на 2...10: k2, k3, 2*k2, k5, (k2+k3), k7, 3*k2, 2*k3, (k2+k5) эти значения должны давать разные остатки от деления на 10, причем все остатки больше 0, то есть всего 9 вариантов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2020, 23:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
проверил программно (a + b + с + d) mod 10 но вдруг ошибся, первый раз ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 21:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Долго объяснять, я запрограммировал оба варианта Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Думается, SearchUni можно оптимизировать. Как понимаю, суть алгоритма состоит в превращении последовательности всех битов в 1 за исключением единственного 0. При нахождении очередного нуля алгоритм пытается найти следующий и заканчивает свою работу если доходит до стартового нуля. Суть оптимизации: нет смысла возвращаться назад, если расстояние между нулями меньше, чем уже заполненное единицами расстояние. Пример: пройдено 5 битов (установлены в 1), шестой бит нулевой (стартовая точка). Если восьмой бит оказывается нулём, то, он точно не может быть шестым битом=стартовой точкой. Следовательно, нет смысла в проверке на хвост (или голову). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2020, 23:12 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad, В худших случаях по прежнему 5*N, хотя таких кейсов намного меньше ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 09:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 labarad, В худших случаях по прежнему 5*N, хотя таких кейсов намного меньше Надо будет преодолеть лень и самому попробовать модифицировать код, чтобы получить практический результат. Исхожу из предположения, что число переходов может сократиться с 4N до 2N для больших N: 1N - последовательно по кругу от нуля к нулю + 1N - возврат к голове. Но даже в этом (худшем) случае оптимизация с 4N до 3N - это 25%-ый прирост производительности и стоит прилагаемых усилий. Худший случай: каждый следующий ноль находится на расстоянии большем (x+1), чем путь (x) от первичной точки до текущего нуля. Единственный вопрос: стоит ли считать операцию сравнения как дополнительную, сравнимую с переходом из вагона в вагон? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 15:36 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Поразмыслил более предметно. Вынужден согласиться с Вашей оценкой в 5N. 2N добавляет финальная проверка на хвост (голову). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 20:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
К задаче классификации натуральных на (х 2*х 3*х ... К*х). Сделал проверку для К=10(только) можно экспериментировать с подбором к-тов (правда универсальную для лбого К делать это долго и муторно, но нарастить довольно быстро, ну и МЛ никого не заинтересует) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 22:19 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Немного подрихтовал, чтобы можно было безболезненно проверять комбинации для К=[7; 10]. Вроде менял только вот это: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78.
У кого есть опровергающий пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 15:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Сделал с постоянным кол-вом циклов ("почти универсально") для K=(7:11), можно и 12 и больше, но полноценная проверка всё равно отсутствует. Комбинации вычетов создаёт универсально. Но проверки делает универсально только для х*p, где р - простой делитель размерности задачи К. Проверки типа х*p1*р2... - по-прежнему как в старом варианте - больше неохота с этим возиться. снова целиком: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2020, 20:47 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Хорошую задачку сегодня задали: Есть 100-этажный дом и 2 яйца. Нужно найти этаж, начиная с которого яйцо при падении разбивается. Какое минимальное количество итераций для этого потребуется? Я ее решил в том смысле, что понял принцип и нашел правильный ответ. Но в общем виде формулу не выводил, можно это рассматривать как бонус :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 18:15 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
это классика ) в общем виде вопрос лучше ставить наоборот: сколько максимум этажей можем проверить на разбиваемость, если есть K яиц и лимит на N бросков. S(k, n) = S(k-1, n-1) + 1 + S(k, n-1) то есть первый бросок проверяет некоторый этаж где-то "посередине". Если разбилось, то окучиваем всё что ниже, S(k-1, n-1) штук, поскольку осталось k-1 яиц и n-1 бросков. Если не разбилось, то S(k, n-1) этажей сверху. ну и по индукции легко доказать явную формулу (если нигде не напутал) используя тождество C(a, b) = C(a-1, b) + C(a-1, b-1) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 18:32 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, Нужно найти минимум функции f = 100/n + n - 1, где n может принимать значения от 1 до 50. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 20:03 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev, поправка, плюс остаток от целочисленного деления 100%n ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 20:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Брутфорс - идём с 1 этажа вверх и кидаем. Как только разобъется - нашли. Оптимизация этого брутфорса - найти удачное начальное приближение. Желательно с запасом в 1-2 этажа. Первый бросок - пристрелочный. Второй - доказательство правоты. Для улучшения КМК можно вспомнить физику Ньютона. Как там с падением. И как разбивание яйца зависит от высоты. В практике оно должно разбиться уже на 1 этаже но мы берем яйцо математическое. Тоесть возможно оно гораздо твёрже. У ньютона кажется при одинаковом ускорении свободного падения скорость растет квадратично. Тоесть формула должна иметь вид квадратного корня. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 20:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Нужно найти минимум функции f = 100/n + 100%n + n - 1 2 n от 1 до 50, % - ремайндер оператор. PS: ответ соответственно n = 10, а итераций 18 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 20:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev, Можно меньше ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 20:29 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, этажи для первого яйца: 1, 12, 25, 37, 48, 58, 67, 75, 82, 88, 93, 97, 100 (от 100 назад через 3 на первом шаге, + 1 на каждом следующем.) если на первом этаже яйцо точно не бьется, то 13 для всех кроме случая попадания на 100, тогда 14 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 21:53 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby, если разобьется на 25, то 15. Идея присутствует, но нуждается в рихтовке. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
авторесли на первом этаже яйцо точно не бьется формулировка кривая, но лучше не сумел сказать. если бы было известно, что на первом шаге точно не бьется, его можно было бы и не бросать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, мне лень рихтовать, - это неравномерный поиск. я ему практически полезного применения с разбегу не вижу. Ой, а можно было дать три яйца и получить другую схему. Интереснее было бы почувствовать, где и как такие последовательности появляются в реальных задачах. я пока не могу сообразить хорошего применительного случая. ----------- когда шел с обратной стороны, получалось 1, 14, 25... но что что-то не срослось и побежал назад от ста. от ста. может оно и с обеих сторон не сходится - тогда я не знаю как правильно сращивать поход слева с походом справа. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby, собственно да, в обе стороны на "пару" не сходится. предпоследний шаг надо "рихтовать". я пока не понимаю, как это назвать и что это значит... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:31 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby, 1, 14, 26, 37... и далее по предыдущему списку ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:42 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис iOracleDev, Можно меньше В принципе идея понятна, сохранять постоянное количество итреаций и найти минимум стартового интервала. 15 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
14 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
13 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Как выразить простой формулой не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2020, 22:59 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
докрутилось и сложилось в пазл: сумма 1+2+3+4+5+6+7+8+9+10+11+12+13+14=105 Поэтому уменьшаем пять правых слагаемых на единицу каждый: 1+2+3+4+5+6+7+8+9+9+10+11+12+13=100 так получаем число элементов в слоте завершение раскладки должно быть таким: слот старт до штук в слоте13100- 1129899211959731091944986905880856773797665728556649447559337461022636111142512011313 Первый бросок делаем в слот 1 по его левому краю - 14 если шар разбился, идем в предыдущий слот со вторым шаром и шагаем по не посещенным этажам, если нет, продолжаем в следующем слоте с первым шаром, и бросаем с левого крайнего (нижнего) этажа слота. последовательность бросков первого шара 14,26,37,47,56,65,73,80,86,91,95,98,100 PS что там рассказывают про "динамическое программирование"? PS2 что-то лихо в правых (верхних) двойках запутался... (;; ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2020, 04:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby последовательность бросков первого шара 14,26,37,47,56,65,73,80,86,91,95,98,100 В случае яиц шаров алгоритм понятен, а вот с тремя уже не очень. Объяснения под спойлером не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2020, 10:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я сделал то же самое но с другого конца, проверяя гипотезу, что например 15 это минимальное число итераций, первый шаг проверка на 15 этаже, если первое золотое яичко разбилось, то проверяем с первого по 14, соответственно худший случай это 15 итераций, далее чтобы не ухудшить количество итераций (одну мы уже сделали), следующий шаг 14 (29 этаж) это вторая итерация, если яйцо разбилось, то нужно проверить 13 этажей, получаем 13 + 2 итераций (2 - предыдущие уже сделанные итерации) и так далее, получается каждый следующий шаг для условия непревышения заданного количества итераций уменьшается на единицу. У вас сколько минимум получился? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2020, 16:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Объяснения под спойлером не понял. Попробую "разжевать") Итак, у нас в запасе K яиц, ограничение на N бросков. Какова максимальная высота дома, чтобы мы с такими ограничениями могли выяснить, с какого этажа разбивается яйцо. Ну или вообще не разбивается. Искомую функцию максимальной высоты обозначим как S(K, N) 1) Более простой кейс - яиц бесконечно много (или хотя бы не меньше чем N), в общем, их экономить не надо и мы ориентируемся только на броски. Очевидно, наилучшая стратегия - поиск делением пополам. Бросаем со среднего этажа, если разбилось, надо проверять нижнюю часть, с лимитом N-1, иначе верхнюю часть, тоже с лимитом N-1, потому что один бросок уже сделан. Тогда получается S(N) = S(N-1) + 1 + S(N-1) S(0) = 0 что дает S(N) = 2 N - 1 2) Если вернуть в игру К, то поиск немного "перекособачивается". Если на первом броске яйцо разбилось, то для проверки нижней части будет K-1 яиц и N-1 бросков. Если не разбилось, то для верхней части имеем K яиц и N-1 бросков. Формула будет аналогичная: S(K, N) = S(K-1, N-1) + 1 + S(K, N-1) S(0, N) = S(K, 0) = 0 В принципе, можно считать по этой формуле, можно переделать в явный вид, но для общего случая там сумма биномиальных коэффициентов, в для конкретных K - полином от N например, если 2 яйца, то S(2, N) = (N 2 + N) / 2 для 3 яиц S(3, N) = (N 3 + 5*N) / 6 и т.е. Например, 100 этажей. если 2 яйца, то за 13 бросков можем проверить максимум 91 этаж, за 14 будет 105 этажей, то есть 14 достаточно если 3 яйца, то 8 бросков проверяют 92 этажа, 9 бросков хватит на 129, то есть надо 9 бросков. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2020, 16:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 А как для произвольных (K, N) должен выглядеть алгоритм обхода? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 12:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
авторА как для произвольных (K, N) должен выглядеть алгоритм обхода? вероятно таким: 1) строишь возвратную последовательность для K 2) выравниваешь её на фактическое N 3) кладешь M = N - это число не обследованных шаров 4) шагаешь по полученной возвратной последовательности обратным ходом, сохраняя номер броска в переменной i, на каждом шаге уменьшая M: M=M-1 5) отыскиваешь i, на котором разбился первый шар 6) Если M=0 To Стоп 7) присваиваешь - K=K-i, N = (Число_элементов в слоте_предшествующем_i - 1), M = N 8) GOTO 1 Но интереснее было бы увидеть пример практической ценности. Генераторы случайных чисел? - не похоже, - здесь явно пирамидально закошеный поиск. Хде, хде его применимость, какие ленты с барабанами по нему плачут? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 15:24 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
7) k = k-1,... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 15:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
в этой задаче есть естественный ранг, в виде "номера этажа" и "дорогое разрушающее исследование" в виде разбиваемого яйца. Пока не вижу, как из этого практическая применимость получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 15:42 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
то есть получается, в что в практическом случае, с одной стороны, должна существовать бесплатная естественная сортировка по адекватному параметру одновременно с дорогим, разрушительным для прибора исследованием. Типа, на одной руке есть набор разновесных шариков одинаково покрашенных шариков, и сепаратор, разбрасывающий их по весу. На другой к этому набору применяют весы, ломающиеся точно на весе равном золоту. Требуется найти золотой шарик, сломав не более чем K инструментов. какую более практичную для целей прикладного программирования модель можно предложить? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 15:53 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
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; ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 17:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, авторЯ думаю качественные рассуждения будут одинаковые для всех {K, N} - если яйцо на i-м шаге разобьётся, нужно оставшимися локализовать решение за нужное число итераций. Ну, что-то похожее, с точностью до потери переменной на оставшиеся шары я и пытался сказать... у меня впечатление, что в части фактического деления на области поиска у задачи более одного решения.... для 92х этажей в 29 я еще готов поверить не глядя, а в 51 - с трудом - тут треугольные числа, похоже проглядывают как рабочая последовательность. Причём, сдаётся, что не полная а с допустимыми оставшимся числом шаров пропусками. Это что, на четырёх шарах квадратные числа появятся, что-ли? позже может каких табличек отпишу. Пока недосуг. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 19:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby, Даже для двух шаров решение не одно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 19:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev booby, Даже для двух шаров решение не одно. для 2 шаров и 100 этажей множественность решений определяется тем, что 1+2+3+4+5+6+7+8+9+10+11+12+13+14= 105 для двух шаров и 105 этажей решение должно быть единственным. Для трёх шаров дело обстоит иначе. Здесь и для 92 этажей 8 максимальных бросаний не дают единственного решения ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2020, 21:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис ... К примеру: 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 - последовательность треугольных чисел. Красиво также то, что при этом резерв оставшихся бросков идеально точно сходится с числом оставшихся в слоте элементов, которые можно проверить двумя шарами. Можно сказать, что трёх-шаровыми конфигурациями управляют треугольные числа, а двух-шаровыми - простой натуральный ряд. (отсюда подозрения на квадратность, которая должна проявить себя в четырёх-шаровых конфигурациях) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 01:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Разглядел - да, это правильное и единственное решение. Было бы интересно узнать, как именно оно было найдено. (В том смысле - как именно ты вышел на треугольные числа.) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 07:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby (В том смысле - как именно ты вышел на треугольные числа.) Соколинский Борис А как для произвольных (K, N) должен выглядеть алгоритм обхода? этажи нумеруются с 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 выходим, когда броски или яйца закончатся, ответом будет номер этажа последнего броска с разбиванием. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 10:42 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Можно сказать, что трёх-шаровыми конфигурациями управляют треугольные числа, а двух-шаровыми - простой натуральный ряд. (отсюда подозрения на квадратность, которая должна проявить себя в четырёх-шаровых конфигурациях) S(3, N) = (N 3 + 5*N) / 6 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 10:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Это не "дорогое разрушающее исследование", а расходный материал. Хотя яйца теперь да, не дёшевы. Наверное скажу очевидное. Когда яиц 2)), и когда их очень много. Если интервалов первого порядка очень много,то и попыток много, если мало, то попыток внутри интервала много и т.д. Должен иметься подобие минимакса. Похоже, имеем нижний предел в районе ЛОГ(2, 100) т.е. 6-7 попыток даже при 100500 яйцах. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 13:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Мне почему-то задача напомнила 15 радиоактивных шаров. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 13:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Мне почему-то задача напомнила 15 радиоактивных шаров. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 14:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 14:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
а я тем временем вспомнил задачу, весьма напоминающую название текущего топика. Есть строка длиной 99 символов, причем все символы в строке разные. За одно действие можно взять 2 соседние подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки). Сколько минимум действий понадобится, чтобы развернуть строку задом наперед? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 14:33 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
сразу пояснение: тут не нужен какой-то хитрый сложный алгоритм, надо найти простую общую идею и применить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 14:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton У меня получалось 8. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 14:46 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 а я тем временем вспомнил задачу, весьма напоминающую название текущего топика. Есть строка длиной 99 символов, причем все символы в строке разные. За одно действие можно взять 2 соседние подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки). Сколько минимум действий понадобится, чтобы развернуть строку задом наперед? как-то так должно быть 2*Floor(log2(99)) = 12 Это обратный Евклид ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 15:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
ошибся на 1: 2*Floor(log2(Floor(99/2))) + 1 = 11 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 15:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby, не очень понял, как именно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 15:29 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Если я верно понял задачу. Давайте возьмем маленькую строку (не 99 а чуть меньше): Код: sql 1.
п просто перевернем ее. Мне кажется тут переворотов надо floor(length/2). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 15:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, похоже я сморозил малек. Забудь пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Давайте возьмем маленькую строку (не 99 а чуть меньше): Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:13 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
у того, о чем я подумал, глубина рекурсии 6, а ходов 95 подразумевал вот что: abcdefgk (a b c d e f g k) меняем ближайшие символы (a b -> b a) кроме среднего при нечетном числе символов -> badcfekg меняем затронутые пары -> dcbakgfe меняем четверки -> kgfedcba итог kgfedcba ------------------ 2mayton - здесь по условию можно заменять только соседние подстроки ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:13 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby меняем ближайшие символы (a b -> b a) кроме среднего при нечетном числе символов -> badcfekg меняем затронутые пары -> dcbakgfe меняем четверки -> kgfedcba можно существенно меньше ходов ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton Давайте возьмем маленькую строку (не 99 а чуть меньше): Код: sql 1.
Я не знаю английскую панграмму которая имела бы смысл и при этом содержала бы все буквы алвавита по 1 штуке. Для русского языка была тестовая фраза "в чащах юга жил бы цитрус..." Но к чорту прозу. Давайте просто алвафиты. 99 букв - это 33 русских + 22 латиницы + 10 цифр. Или просто упростим задачу до реверса массива байтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 ... можно существенно меньше ходов явные вращения как-то комбинируются? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Напомнило одну задачку для начинающих из Haskell. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Имя пользователя1 ... можно существенно меньше ходов явные вращения как-то комбинируются? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
вращение на 1 элемент представляется явным "обменом местами" abcdefgk - abcdefg k -> kabcdefg kabcdefg - kabcdef g -> gkabcdef можно навращать полстроки... но здесь может оказаться хитрая комбинация вращений с "простыми обменами". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 17:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
На вращениях можно наковырять даже перестановки. Которых будет факториал от количества букв в строке. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 17:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Вообще-то "вращение" 2-х соседей не запрещено. И уж это точно инверсия даже с т.зр. теоргрупп. А из инверсий любую перестановку можно собрать, правда не оптимально. "Пузырьком" будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 18:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby вращение на 1 элемент представляется явным "обменом местами" abcdefgk - abcdefg k -> kabcdefg kabcdefg - kabcdef g -> gkabcdef да, такие можно, разумеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 18:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 13:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, здесь код конкретный ожидается, или как? что касается не зашло. Скажи пожалуйста, а) за какое число обменов двух соседних строк задача решается для длины 99 б) с какой наименьшей длины работает ожидаемое решение эффективнее простого попарного обмена а вообще, имхо, если считаешь, что время вышло, то прилично было бы дать ссылку на решение, если это общеизвестная задача, или показать свое личное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 14:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Имя пользователя1, здесь код конкретный ожидается, или как? booby а) за какое число обменов двух соседних строк задача решается для длины 99 б) с какой наименьшей длины работает ожидаемое решение эффективнее простого попарного обмена а вообще, имхо, если считаешь, что время вышло, то прилично было бы дать ссылку на решение, если это общеизвестная задача, или показать свое личное решение. 99 решается за 50 обменов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 14:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, там был еще один вопрос ... :)) то есть 9 решится по этой схеме за 5? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, У меня идея в том, чтобы свести операцию rgb к арифметической. Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. Дальше с телефона неудобно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby там был еще один вопрос ... :)) то есть 9 решится по этой схеме за 5? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. И выясняем, что достаточно сложить все числа с правильными весами и взять остаток от деления. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. Есть подозрение что достаточно посчитать rgb() от крайних, т.е. rgb(R, R) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T, Даже из примера видно, что это не так - начинаем с S3 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис И выясняем, что достаточно сложить все числа с правильными весами и взять остаток от деления. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Ну да, вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Напомнило PPM сжатие. Там тоже брался текст. Выборка группы букв. И эти буквы вращались и заносились в справочник. Потом эти карусели использовались как справочник. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1, Ну да, вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Имя пользователя1 22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. Есть подозрение что достаточно посчитать rgb() от крайних, т.е. rgb(R, R) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис Имя пользователя1, Ну да, вроде. Но это, вроде, не очень существенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 пропущено... можно существенно ускорить. Но это, вроде, не очень существенно. это, скорее, деоптимизация, дополнительная проверка появляется. задача больше на математику, чем на кодинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Если хотите играть с булевой алгеброй - попробуйте вручную минимизировать булеву функцию от 16 булевых аргументов. Я поднимал топик когда-то на эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 то есть не брать нули? Если я правильно понимаю, в указанном примере совершенно неважно, что стоит в S[2] (0-based), ответ не изменится. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Если хотите играть с булевой алгеброй - попробуйте вручную минимизировать булеву функцию от 16 булевых аргументов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Отнюдь. Может и наелись но до сих пор законы Моргана и Поглощения на знают и сокращать предикаты не умеют. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 то есть не брать нули? Если я правильно понимаю, в указанном примере совершенно неважно, что стоит в S[2] (0-based), ответ не изменится. нет, это не совсем то. некоторые элементы, понятное дело, придется пропустить, если мы хотим быстрее чем O(N), но вот какие именно... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 некоторые элементы, понятное дело, придется пропустить, если мы хотим быстрее чем O(N), но вот какие именно... Если я правильно понимаю, весовые коэффициенты в моей формуле соответствуют биномиальным. И можно пропустить все кратные 3 - т.е те, где в разложении на простые множители троек в числителе больше чем в знаменателе. Осталось только формулу подобрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 17:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Если очень повезет и N будет степенью 3 - тогда мегаформула от Dima_T ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 18:03 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Если очень повезет и N будет степенью 3 - тогда мегаформула от Dima_T N может быть любым ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 18:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, А если не повезет - нужно думать над разложением, чем сейчас и занимаюсь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 18:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Не выходит каменный цветок. Есть противные N (8, 17...) где ничего нельзя пропускать, и подозреваю что этот ряд уходит в бесконечность. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 18:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Не выходит каменный цветок. Есть противные N (8, 17...) где ничего нельзя пропускать, и подозреваю что этот ряд уходит в бесконечность. в троичном форме у них будут сплошные двойки ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 19:24 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 да, это худшие случаи, которые оптимизировать не получится... Имя пользователя1 в троичном форме у них будут сплошные двойки ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 19:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Если очень повезет и N будет степенью 3 - тогда мегаформула от Dima_T Мне вникать времени не было, затестил на бумажке 4 случайных 4-значных набора, все подошли под придуманную формулу, подумал а почему бы нет? Да, потом понял что не всегда формула работает. Т.е. вероятность что значение подходит под мою формулу очень высокая, но осталось придумать как проверить что можно использовать мою формулу на конкретном значении. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 20:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Т.е. вероятность что значение подходит под мою формулу очень высокая Только в случае (N-1)=3 K . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 20:37 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А. Получится ли на каком-то шаге добавить туда число 2000000, и если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 12:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А. Получится ли на каком-то шаге добавить туда число 2000000, и если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 12:58 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А. Получится ли на каком-то шаге добавить туда число 2000000, и если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 13:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
В прочем, неважно Z=(a+b+ab)=(a+1)*(b+1) - 1 2000001 имеет единственное разложение на простые множители: 3 и 666667, т.е. в множество должны входить 2 и 666666. Насчет второго можно сомневаться, но первого точно нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 13:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, верно) там ещё второй вопрос был: можно ли получить так какое-нибудь число вида 2*10 k , где k - натуральное ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 13:18 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 там ещё второй вопрос был: можно ли получить так какое-нибудь число вида 2*10 k , где k - натуральное Понятно, что у Z+1 в разложении будет тройка (соответственно нужна двойка в множестве), но если разложение не единственное, ее можно скомбинировать с другим множителем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 23:09 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
по просьбе Майтона, заруливаем в геометрию разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной ещё на разрезание: дан треугольник с углами 20 гр., 60 гр., 100 гр. Его разрезают по биссектрисе. Потом любой из полученных кусков тоже разрезается по биссектрисе. И так далее. Можно ли на каком-то этапе получить треугольник, подобный исходному? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 15:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 по просьбе Майтона, заруливаем в геометрию разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной Линия = прямая линия или может быть "криволинейной"? По-идее, не прямая линия не может дать лучшего результата, но с доказательством проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
msLex Имя пользователя1 по просьбе Майтона, заруливаем в геометрию разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной Линия = прямая линия или может быть "криволинейной"? По-идее, не прямая линия не может дать лучшего результата, но с доказательством проблемы. доказательство для минимальной линии есть, довольно простое. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:12 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 labarad, В худших случаях по прежнему 5*N, хотя таких кейсов намного меньше Если решать задачу практически в виде алгоритма для стандартного компа, то подсчитать количество вагонов можно за N, т.е. всего за один проход: 1. Запомнить состояние нулевого вагона. 2.а Если состояние следующего вагона НЕ совпадает со значением п.1 (нулевой вагон), то - идти дальше в следующий вагон. 2.б Если состояние следующего вагона совпадает со значением п.1 (нулевой вагон), то - изменить состояние текущего вагона и - проверить состояние нулевого вагона: если состояние нулевого вагона изменилось (не совпадает с п.1), то круг замкнулся ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 00:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
это labarad можно за N противоречит этому labarad проверить состояние нулевого вагона т.к. "проверить состояние нулевого вагона" = вернутся в нулевой вагон, и так много раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 10:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
msLex это labarad можно за N противоречит этому labarad проверить состояние нулевого вагона т.к. "проверить состояние нулевого вагона" = вернутся в нулевой вагон, и так много раз. "для стандартного компа", у нас тут двусвязный кольцевой список с булевскими значениями, и всего один указатель на элемент, примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 10:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 msLex ... т.к. "проверить состояние нулевого вагона" = вернутся в нулевой вагон, и так много раз. "для стандартного компа", у нас тут двусвязный кольцевой список с булевскими значениями, и всего один указатель на элемент, примерно так. Друзья, Нисколько не спорю, что, например, при ограничении функционала железа невозможно оптимизировать алгоритм. Однако, на компе, где можно программно иметь не один, а два указателя (в поезде находится два человека, а не один) производительность можно повысить аж в 5 раз. Что, согласитесь, на больших объёмах весьма существенно - час будет прога считать данные или пять часов? И цена этому ускорению - условные 4 или 8 байт. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 13:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad, решение чем-то напоминает "я же не отдам некту яблоко, хоть он дерись" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 15:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov labarad, решение чем-то напоминает "я же не отдам некту яблоко, хоть он дерись" Могу только повторить: эффективность реализации алгоритма объективно зависит от платформы, на которой он будет исполняться. Например, если проектируете железо, то добавление простенькой функции хранения дополнительного указателя позволит увеличить скорость обработки данных в пять раз. Стоит ли учитывать возможность такой оптимизации, думаю, вопрос риторический. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 16:58 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad, теперь уже больше похоже на "как пройти на Дерибасовскую" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 20:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. а если всего будет 2 вагона (но мы этого не знаем) и в обоих свет выключен? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 11:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
DmitryKn iOracleDev Обозначим стартовый вагон буковкой A, выключим в нем свет и пойдем по ходу поезда, идем пока свет в вагонах горит, дошли до вагона с выключенным светом, обозначим его буковкой B, включаем в нем свет и идем обратно в A, если в A горит свет, значит мы обошли все вагоны, если свет в A выключен, то включаем его и возвращаемся в вагон B, выключаем в вагоне B свет, назначаем вагон B вагоном A и далее повторяем описанную процедуру, до тех пор пока не обнаружим в A свет. а если всего будет 2 вагона (но мы этого не знаем) и в обоих свет выключен? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 12:33 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
задачи пока без решений: 22090677 Есть строка длиной 99 символов, причем все символы в строке разные. За одно действие можно взять 2 соседние подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки). Сколько минимум действий понадобится, чтобы развернуть строку задом наперед? ---- 22095992 Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А, возможно, одинаковые. Получится ли на каком-то шаге добавить туда какое-нибудь число вида 2*10 k , где k - натуральное (то есть число 200...0), и если да, то как? ---- 22096932 разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной ---- 22096932 дан треугольник с углами 20 гр., 60 гр., 100 гр. Его разрезают по биссектрисе. Потом любой из полученных кусков тоже разрезается по биссектрисе. И так далее. Можно ли на каком-то этапе получить треугольник, подобный исходному? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 12:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, с двумя вагонами, при условии их идентичности и замкнутости и свет может быть включен или не включен, и если свет выключен в обоих, при указанных выше действиях получим включенный свет в обоих и безконечный бег по кругу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 13:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
DmitryKn при указанных выше действиях получим включенный свет в обоих и безконечный бег по кругу при каждом включении света мы возвращаемся к вагону А (при возврате считаем вагоны в обратную сторону, и зная сколько прошли вагонов "вперед", легко можем вернуться в указанный) и проверяем в нем свет, который оставили выключенным. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 13:32 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, согласен, зря это я ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 14:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
DmitryKn зря это я ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 14:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 разрезать равносторонний треугольник на 2 куска равной площади, так чтобы длина линии разреза была минимальной Открывая страницу для ответа, я собирался доказать, что достаточно срезать верхушку самого маленького угла параллельно противоп-й стороне. Отсечь ~sqr(3)/2-ую часть этой высоты. И тогда длина среза~sqr(3)*a. Для произвольного тр-ка. Т.к. любая незамкнутая спрямляемая и непрерывная кривая обязательно пересечёт этот срез ==> её длина будет больше. Конечно и в цифрах тоже я могу ошибаться, проверять не буду. Но пока ждал открытия страницы, подумал, зачем обязательно открытую кривую? Тем более, в условии равносторонний тр-к. А вдруг окружность или квадрат внутри? Да вроде при одинаковой площади (а площадь мы знаем) наименьший периметр имеет окружность. Вот не помню в каком это классе замкнутых кривых. ПОлучатся R ~ a/2/sqr(2pi). Тогда длина = a*sqr(pi/2). Если снова не ошибся. Добавил для полноты: это меньше вписанной окр. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 14:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 22096932 дан треугольник с углами 20 гр., 60 гр., 100 гр. Его разрезают по биссектрисе. Потом любой из полученных кусков тоже разрезается по биссектрисе. И так далее. Можно ли на каком-то этапе получить треугольник, подобный исходному? Получается, что резать можно только всё время через одну и ту же вершину? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 15:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Соколинский Борис пропущено... Куски односвязные? Открывая страницу для ответа, я собирался доказать, что достаточно срезать верхушку самого маленького угла параллельно противоп-й стороне. Отсечь ~sqr(3)/2-ую часть этой высоты. И тогда длина среза~sqr(3)*a. Для произвольного тр-ка. Т.к. любая незамкнутая спрямляемая и непрерывная кривая обязательно пересечёт этот срез ==> её длина будет больше. Конечно и в цифрах тоже я могу ошибаться, проверять не буду. Но пока ждал открытия страницы, подумал, зачем обязательно открытую кривую? Тем более, в условии равносторонний тр-к. А вдруг окружность или квадрат внутри? Да вроде при одинаковой площади (а площадь мы знаем) наименьший периметр имеет окружность. Вот не помню в каком это классе замкнутых кривых. ПОлучатся R ~ a/2/sqr(2pi). Тогда длина = a*sqr(pi/2). Если снова не ошибся. Добавил для полноты: это меньше вписанной окр. Линия разреза очевидно должна быть меньше стороны треугольника. Даже если просто разрезать по высоте, длина разреза будет a*sqrt(3)/2, а это далеко не минимум. exp98 Имя пользователя1 22096932 дан треугольник с углами 20 гр., 60 гр., 100 гр. Его разрезают по биссектрисе. Потом любой из полученных кусков тоже разрезается по биссектрисе. И так далее. Можно ли на каком-то этапе получить треугольник, подобный исходному? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 15:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 задачи пока без решений: 22095992 Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А, возможно, одинаковые. Получится ли на каком-то шаге добавить туда какое-нибудь число вида 2*10 k , где k - натуральное (то есть число 200...0), и если да, то как? Возьмем множество B, такое что B k =A k +1. Тогда любой B k =B i *B j , т.е все элементы B в разложении на простые множители должны иметь только 2 и 5. 2*10 k +1 всегда будет иметь 3, т.е. не входит в B. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 16:37 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 задачи пока без решений: 22095992 Множество А изначально содержит 2 элемента - числа 1 и 4. За одно действие можно добавить туда число (a+b+ab), где a и b - любые два числа из А, возможно, одинаковые. Получится ли на каком-то шаге добавить туда какое-нибудь число вида 2*10 k , где k - натуральное (то есть число 200...0), и если да, то как? Возьмем множество B, такое что B k =A k +1. Тогда любой B k =B i *B j , т.е все элементы B в разложении на простые множители должны иметь только 2 и 5. 2*10 k +1 всегда будет иметь 3, т.е. не входит в B. я чуть по другому решил: все элементы из А при делении на 3 дают остаток 0 или 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 16:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 22090677 Есть строка длиной 99 символов, причем все символы в строке разные. За одно действие можно взять 2 соседние подстроки и обменять местами (например, было "...abcdefg...", стало "...aefbcdg...", поменяли красную и синюю подстроки). Сколько минимум действий понадобится, чтобы развернуть строку задом наперед? Я взял короткую строку abcd. Для простоты пускай ее размер будет кратным 2^n. Тогда чтобы ее перевернуть можно сделать дерево действий. 1. abcd => (ab)(cd) => swap => (cd)(ab) 2. Повторить рекурсивно для каждой группы до тех пор пока в группе не будет 1 символ. (d)(c)(b)(a) Тоесть за 3 свопа мы перевернули 4 символьную строку. Для 99 символов будет логарифм2 высоты дерево свопов. Но беря во внимание что на последнем уровне количество листьев будет ]99/2[ = 50 То моё древо-видное решение будет ничем не лучше чем стандартная функция реверса строки. Которая делает тоже самое за гарантированное число 50 а для древо-видного свопа нужно еще посчитать порядка 7 уровне дерева сверху. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 17:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton а для древо-видного свопа нужно еще посчитать порядка 7 уровне дерева сверху. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 17:18 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton а для древо-видного свопа нужно еще посчитать порядка 7 уровне дерева сверху. А у этой задачи точно есть решение? Просто я не слышал чтобы кто-то сильно переживал по поводу o(n) reverse. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 17:43 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Имя пользователя1 пропущено... там будет ещё примерно столько же обменов ) А у этой задачи точно есть решение? Просто я не слышал чтобы кто-то сильно переживал по поводу o(n) reverse. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 18:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Имя пользователя1 пропущено... там будет ещё примерно столько же обменов ) А у этой задачи точно есть решение? Просто я не слышал чтобы кто-то сильно переживал по поводу o(n) reverse. я так скромно думаю: если бы у этой задачи было решение, да еще универсальное, его, почти наверно, можно было бы использовать для разворота односвязного списка быстрее, чем за n-1 шагов. PS конечно, известно, что за три реверса выполняется произвольный циклический сдвиг. Значит, какая-то последовательность циклических сдвигов должна формировать реверс. Но в этом месте я продолжаю верить в первую часть своей гипотезы. Т.е. почти наверно, такая последовательность, да еще если она даёт число действий, по сути равное числу свопов для разворота массива, использовалась бы как стандартный алгоритм разворота односвязного списка. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 18:18 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton пропущено... А у этой задачи точно есть решение? Просто я не слышал чтобы кто-то сильно переживал по поводу o(n) reverse. А у тебя есть твоё предложение по решению? Я почему спрашиваю. Обидно знаешь-ли. Делать что-то "просто так". А ты - как ловкий тролль. Забросил. И сидишь себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 18:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 что-то не очень. Линия разреза очевидно должна быть меньше стороны треугольника. Даже если просто разрезать по высоте, длина разреза будет a*sqrt(3)/2, а это далеко не минимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 18:37 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby я так скромно думаю: если бы у этой задачи было решение, да еще универсальное, его, почти наверно, можно было бы использовать для разворота односвязного списка быстрее, чем за n-1 шагов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 19:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Имя пользователя1 пропущено... эту задачу не надо рассматривать как реализацию reverse. Никто в здравом уме не будет реверсить строку или массив подобным образом. Просто головоломка, на подумать, размять мозг, отвлечься от кодерской рутины. А у тебя есть твоё предложение по решению? Я почему спрашиваю. Обидно знаешь-ли. Делать что-то "просто так". А ты - как ловкий тролль. Забросил. И сидишь себе. Если кто сомневается в наличии, могу выслать персональным сообщением. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 20:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Имя пользователя1 что-то не очень. Линия разреза очевидно должна быть меньше стороны треугольника. Даже если просто разрезать по высоте, длина разреза будет a*sqrt(3)/2, а это далеко не минимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 20:39 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton пропущено... А у тебя есть твоё предложение по решению? Я почему спрашиваю. Обидно знаешь-ли. Делать что-то "просто так". А ты - как ловкий тролль. Забросил. И сидишь себе. Если кто сомневается в наличии, могу выслать персональным сообщением. Нет уж. Давай в этот топик. Мне секретов не надо. Иначеб я тут не сидел. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 21:07 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Разрез параллельно стороне. Но это не минимум Народ! налетай, задел сделан. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 21:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Нет уж. Давай в этот топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 21:48 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Нет уж, нет уж, ещё не все притрагивались. Согласен, хочется подумать. А когда решение уже выложено, то желание пропадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 02:58 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 А нет ли ощущения, что битиё яиц было бы разминкой к этой? зря что ли продукт изводили ... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 03:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 ничего общего, совсем разные идеи А какой лучший результат для строки в 99 символов? N получить довольно просто: 1. подстрока а - последний символ, подстрока b - с первого до предпоследнего символа 2. подстрока а - последний символ, подстрока b - со второго до предпоследнего символа и т.д. пока все символы не встанут на свои места. Т.е. каждый раз последний символ ставим на должное ему место: 012345678 9 - 012345678 и 9 9 01234567 8 - 01234567 и 8 98 0123456 7 - 0123456 и 7 987 012345 6 - 012345 и 6 9876 01234 5 - 01234 и 5 98765 0123 4 - 0123 и 4 987654 012 3 - 012 и 3 9876543 01 2 - 01 и 2 98765432 0 1 - 0 и 1 98765432 1 0 - done ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 03:18 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad А какой лучший результат для строки в 99 символов? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 03:38 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я в задачах оптимизации исхожу из некого физико-механического принципа. Если представлять символы - ящиками а позиции - стеллажами то задача сводится к некому оптимальному маршруту авто-погрузчика который может их очень быстро перевернуть. Причем авто-погрузчик может захватывать группу ящиков. Я думал и так и эдак и лучше чем классический реверс - ничего не выходит. Но поскольку автор говорит - что это "разогрев" аудитории - тогда я жду что будет следующее. Сама по себе задача реверса уже не интересна. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 11:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Из курса инженерной графики (AutoCad e.t.c) я помню что такое линейное преобразование. Вобщем суть такова. Если у вас есть объект в 3D пространстве (множество трехмерных точек) и вам его надо часто и много двигать и вращать и масштабировать (наподобие 3д шутера) то вы принимаете решение закрепить на ним матрицу линейных преобразований (4х4) и меняя ее коэффициенты можно деформировать и масштабировать вращать и двигать этот объект. В неком гипотетическом случае строка может быть представлена стационарным иммутабельным вектором. И набором линейных преобразований. Сдвиг. И масштабирование. Но в данном случае масштабирование будет единичкой со знаком + или -. И эти коэффициенты - частный случай матрицы 2х2 для данного одномерного вектора символов. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Здесь реверс будет иметь сложность o(1). Хотя билдер строки будет иметь какую-то линейную комплексность но нам пофиг. Предполагаем что есть некое lazy поведение. Вдруг строка вообще не понадобится (типичный случай для логгеров) а преобразование зря делалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 12:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Я думал и так и эдак и лучше чем классический реверс - ничего не выходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2020, 16:42 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, хватит издеваться над животными, треугольник режется дугой окружности, режем радиусом t= a*sqr( sqr(27)/4/pi), L~0,673387*a >2/3 (если прямой,то только a*sqr(2)/2, L~0,7*a) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2020, 22:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98, что за дуга, где центр, и главное, почему это минимум? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 00:53 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, будете маскироваться до победного? имеете меньшее значение -- предъявите + алгоритм. Окр. центром в вершине тр-ка, радиус t указан выше. Ну, 2pi*R/6 же. Доказывать не требовалось по ТЗ. Хотя можно и обсудить, но только после вас. И ... я ведь не свободен от ошибок, да и допускаю возможность нескольких вариантов непрерывной линии одной длины. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2020, 20:11 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Доказывать не требовалось по ТЗ. Хотя можно и обсудить, но только после вас. Пусть у нас линия разреза между точками А и В на сторонах. Соединим 6 треугольников одноимёнными точками. Линии разреза станут замкнутым контуром, площадь внутри которого равна 3 треугольниками. Как известно, минимальная длина будет, если этот контур - окружность, что получается, если разрез делать по дуге. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2020, 12:20 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Это безусловно интересно тем, кто не брался за задачу. Только вы умело обходите суть вопроса. 1) Вопрос был про значение. Значение см. выше в моём посте. Откуда же я его взял? 2) Док-во. я вроде и намекал на это самое док-во и эту теорему минимальности, см. выше в моём посте. И даже в явном виде упомянул ещё ранее (п.3) 3) Отдельного объяснения требует, почему круг, вырезанный внутри тр-ка, будет длиннее разомкнутой линии. Та же самая теорема + вычисление её периметра и сравнение. Эти значения я приводил ранее при первых попытках решения. (далее удалил ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2020, 16:37 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Собсно, хотел спорсить: кто-нибудь брался за вопрос с бисектириссами треугольника? Что-то пока ничего простого не проглядывает. Если рисовать граф, то он уж очень быстро растёт с каждым разрезом, чтобы использовать подбор комбинаций углов А/2, В/2 и (180-А-В/2). Маячат впереди какие-то суммы 2^k (если в обратном направлении) - не более того. Где-то должны появиться циклические послед-сти. Если отталкиваться от соотношения сторон при разрезании, то формулы кажутся ещё громоздче. Короче говоря, какие будут подходы к решению? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2020, 16:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Собсно, хотел спорсить: кто-нибудь брался за вопрос с бисектириссами треугольника? Что-то пока ничего простого не проглядывает. Если рисовать граф, то он уж очень быстро растёт с каждым разрезом, чтобы использовать подбор комбинаций углов А/2, В/2 и (180-А-В/2). Маячат впереди какие-то суммы 2^k (если в обратном направлении) - не более того. Где-то должны появиться циклические послед-сти. Если отталкиваться от соотношения сторон при разрезании, то формулы кажутся ещё громоздче. Короче говоря, какие будут подходы к решению? можно попробовать решать в обратную сторону: рекурсивно из какого треугольника мог бы получиться заданный и доказать, что там все зациклено ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2020, 10:43 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, так хорошо в надежде, что не все варианты нужно перебрать. Но умозрительно кажется, что придётся рассматривать фиктивные варианты. Т.к. если обратный вывод, то мы не знаем заранее, какой угол получен на пересечении бисектриссы со стороной, а какой делением угла и т.д. Ну т.е. кроме равенства А+В+С=180 и нечем воспользоваться, выходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2020, 16:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 ...3) Отдельного объяснения требует, почему круг, вырезанный внутри тр-ка, будет длиннее разомкнутой линии. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2020, 16:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Aleksandr Sharahov, так хорошо в надежде, что не все варианты нужно перебрать. Но умозрительно кажется, что придётся рассматривать фиктивные варианты. Т.к. если обратный вывод, то мы не знаем заранее, какой угол получен на пересечении бисектриссы со стороной, а какой делением угла и т.д. Ну т.е. кроме равенства А+В+С=180 и нечем воспользоваться, выходит. Требуемое финальное состояние с отношением углов 1:3:5 может быть получено только из трех предыдущих состояний: 1:2:6, 2:2:5, 2:3:4. Эти три состояния, в свою очередь, могут быть получены только из состояний: 1:2:6, 1:4:4, 2:2:5, 2:3:4. Состояние 1:4:4 может быть получено только из 2:3:4. Видим, что среди всех возможных начальных состояний нет финального. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2020, 18:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 классический реверс дает 49 обменов символами (первый с последним, второй с предпоследним и тд), он по любому быстрее. Здесь прикол именно в ограничениях - можно обменивать местами только соседние подстроки Наверное, всё-таки предпочту сдаться. Если было бы очень нужно , то решал бы задачу методом перебора на 9 или 10 элементах: количество символов+начальная позиция дают N во второй степени итераций для шага. А таких шагов по условию задачи д.б. не более, чем N/2+1. Т.е. для 10 элементов в худшем случае порядка триллиона операций (10 в 12-ой), чтобы увидеть незамечаемое. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2020, 22:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad, все украдено до нас: https://www.researchgate.net/publication/8007399_An_Efficient_Algorithm_for_Sorting_by_Block-Interchanges_and_Its_Application_to_the_Evolution_of_Vibrio_Species ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 11:33 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
У меня рекорд вчера был 6 перестановок для (1 2 3 4 5 6 7 8). Но воспроизвести не смог, т.к. перемещал по столу фишки из коробки "Пятнашки" и не записал. А с бисектриссами, да, воспроизвёл. Действитеьлно невозмоно получить. Оказалось, что эту задачу быстрее было 1 раз сделать, чем 100 раз думать, как это сделать. Такая мораль. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2020, 22:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 У меня рекорд вчера был 6 перестановок для (1 2 3 4 5 6 7 8). Но воспроизвести не смог, т.к. перемещал по столу фишки из коробки "Пятнашки" и не записал. и эта тоже не особенно сложная, сама формула намекает, что надо работать с парами ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 00:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 У меня рекорд вчера был 6 перестановок для (1 2 3 4 5 6 7 8). Но воспроизвести не смог, т.к. перемещал по столу фишки из коробки "Пятнашки" и не записал. Если Вы про строку в 99 символов, тогда точно надо прогу написать. Хотя в оценке количества итераций я и ошибся (помимо начальной позиции и общего количества символов ещё есть разделитель), но с 8-ю элементами прога посчитает в обозримое время. Ну а как только уловка станет видна, воспроизвести её на большем масштабе не составит труда. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 04:03 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
labarad exp98 У меня рекорд вчера был 6 перестановок для (1 2 3 4 5 6 7 8). Но воспроизвести не смог, т.к. перемещал по столу фишки из коробки "Пятнашки" и не записал. Если Вы про строку в 99 символов, тогда точно надо прогу написать. Хотя в оценке количества итераций я и ошибся (помимо начальной позиции и общего количества символов ещё есть разделитель), но с 8-ю элементами прога посчитает в обозримое время. Ну а как только уловка станет видна, воспроизвести её на большем масштабе не составит труда. Для общего случая с произвольной перестановкой - да, нужна программа, реализующая один из известных алгоритмов. Для обратной перестановки программа не нужна, т.к. есть регулярный алгоритм с точно известным количеством шагов. Чтобы понять, что к чему, проще начать с нечетного N=5, 7, 9, 11, 13, например, на картах. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2020, 09:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Немного оффотоп, тем не менее. Относительно простые задачки в игре exapunks , много кто решал? Игра про конечные автоматы, с завуалированными ограничениями на количество используемых регистров. В торренте - лежит.Задачи простые, но вопрос о другом - кто-нибудь пробовал? Язык как бейсик команд 20, и все интуитивные. Меня зацепило уже месяц ковыряю расслабленно под настроение. Задачи, они не просто на математику, а на прикладное программирование что ли. Отдельный вопрос графики в сравнении с остальными вот бы где спорщиков по датабаза круче и чей язык быстрее протестировать. Наберите exapunks в ютубе, может кому приглянется, у кого зуд этот, чтоб его, чего-то покодить. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 20:47 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Сам себе на уме тихо веду монолог... авторОтдельный вопрос графики в сравнении с остальными RTFM :D :D :D Изучал графики, похоже они твои же предыдущие попытки просто отрисовывают :D В ютубах тоже неоднократно встречал подобное моему заблуждение :D Взял из первых обучающих заданий программу, и в хвост ее и в гриву, там просто не может быть более изящного решения, только тогда обратил внимание, чтоже графики по завершению показывают, до этого никак. zachtronics молодцы, у меня ощущение, что все шишки зазвидевшемуся "программисту" на одном блюде вынесли :D Не сочтите за рекламу, но раз тема про относительно простые задачи - ВЕЩЬ EXAPunks Zachtronics, уже в торрентах :D ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2020, 11:03 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Вчера были гости дома, обсуждали детей, пока они в других комнатах в телефоны играли. Тут меня осенило - пойдем Миша попробуем эту игру. Вердикт- с алгоритмикой у него все замечательно, но не его это от слова вообще. Т.е. на простые действия он разложить может, а вот то, что робот делает все строго по его указке (я команды тупо набивал что он скажет на обучающем уровне), его никак не вставило. Очень полезная игра. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 11:41 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
по программированию: гирьки произвольной массы выставлены в ряд. Определить, какую максимальную суммарную массу мы сможем составить из гирек, при условии, что никакие две соседние гирьки использовать одновременно нельзя. время O(N), память O(1) пример: гирьки 5, 3, 7, 9, 1, результат 14 (взяли гирьки 5 и 9) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
по математике: Два человечища играют в числа: первый называет некоторое натуральное число, второй вычитает целый квадрат из названного, далее, по очереди - первый возводит оставшееся значение в натуральную степень, второй вычитает какой-нибудь целый квадрат, и т.д. Второй выигрывает, когда число обнулится (как сами знаете кто). Может ли первый не допустить обнуления? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 14:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 ... Определить, какую максимальную суммарную массу мы сможем составить из гирек, ... составить из 2-х гирек ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 18:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Имя пользователя1 ... Определить, какую максимальную суммарную массу мы сможем составить из гирек, ... составить из 2-х гирек ?? а так гирек может быть много, и соответственно выбрать получится много. Главное, чтобы выбранные не стояли изначально рядом друг с другом ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 20:18 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 по программированию: гирьки произвольной массы выставлены в ряд. Определить, какую максимальную суммарную массу мы сможем составить из гирек, при условии, что никакие две соседние гирьки использовать одновременно нельзя. время O(N), память O(1) пример: гирьки 5, 3, 7, 9, 1, результат 14 (взяли гирьки 5 и 9) Код: pascal 1. 2. 3. 4. 5. 6.
Для произвольного числа, вероятно нужно обобщить - считать условные "Odd" и "Even" суммы слева и выбирать, что пристыковать к результату. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 10:49 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 по математике: Два человечища играют в числа: первый называет некоторое натуральное число, второй вычитает целый квадрат из названного, далее, по очереди - первый возводит оставшееся значение в натуральную степень, второй вычитает какой-нибудь целый квадрат, и т.д. Второй выигрывает, когда число обнулится (как сами знаете кто). Может ли первый не допустить обнуления? Поскольку ряд сумм квадратов натуральных чисел расходится, всегда найдется такая степень k (нечетная, разумеется), что число при вычитании ближайшего квадрата будет а) больше результата предыдущей итерации б) не являться квадратом натурального числа. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 10:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1 по математике: Два человечища играют в числа: первый называет некоторое натуральное число, второй вычитает целый квадрат из названного, далее, по очереди - первый возводит оставшееся значение в натуральную степень, второй вычитает какой-нибудь целый квадрат, и т.д. Второй выигрывает, когда число обнулится (как сами знаете кто). Может ли первый не допустить обнуления? Поскольку ряд сумм квадратов натуральных чисел расходится, всегда найдется такая степень k (нечетная, разумеется), что число при вычитании ближайшего квадрата будет а) больше результата предыдущей итерации б) не являться квадратом натурального числа. может, я криво сформулировал? ходы первого и второго на псевдокоде с присваиваниями выглядят так: 1) X := ... 2) X := X - n 2 1) X := X m 2) X := X - n 2 1) X := X m ... всё кроме первой строки повторяется, n и m на каждой итерации произвольные (не обязательно одни и те же). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 11:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Пока не cxbnfk. Если может, то 1-му надо не допустить, чтобы при его ходе 1) Y := X^m X было квадратом. Тогда m можно брать нечётным. С другой стороны, 2-й всегда может дать приближение к Y с точностью(2n+-1), т.к. (n+1)^2= n^2 +2n+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Вроде я так и понял. Первому игроку нужно не допустить чтобы X m -n 2 =k 2 , а поскольку нет ограничений на m, это без труда можно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:09 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис, в общем, решение пока не верное) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:32 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 С другой стороны, 2-й всегда может дать приближение к Y с точностью(2n+-1), т.к. (n+1)^2= n^2 +2n+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:32 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Для произвольного числа, вероятно нужно обобщить - считать условные "Odd" и "Even" суммы слева и выбирать, что пристыковать к результату. например, если все гирьки одинаковы, то просто берем все нечетные, это будет половина или чуть более (если гирек нечетное количество) сама задачка не сказать что интересная, но здесь прикольно что решение совсем простое ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
С гирьками поэкспериментировал... Написать NlogN легко, а чтобы именно что N было.. У меня были примеры рандома когда выбиралась гирька с нулевым весом (чтобы это ни значило), потому что ее соседи мешали взять что-то тяжелое... И много случаев, когда самая тяжелая гирька не используется. С квадртами я пока дошел до мысли что можно сделать число четным, потом сделать число кратным тройке, потом пятерке, только смысла в этом немного... Разве что произведение простых чисел минус один в определенный момент станет квадратом. Тогда как первый ни возводи в степень этот квадрат, ничего не выйдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 12:43 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Aklin И много случаев, когда самая тяжелая гирька не используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 14:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я правильно понимаю, что простой перебор вариантов считается "неспортивным" способом? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 08:01 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
982183 Я правильно понимаю, что простой перебор вариантов считается "неспортивным" способом? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 08:12 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 exp98 С другой стороны, 2-й всегда может дать приближение к Y с точностью(2n+-1), т.к. (n+1)^2= n^2 +2n+1 Я не уверен, есть ли обязателный выиигрыш у кго-либо. К сказанному ранее дополню. Например 2-й может брать не ближайший квадрат, а перед ним, чтобы получить чётный остаток. Если 2-й дурак, то остаток будет отрицательным. Если дурак 1-й, то он , будет возводить в чётную степень, возьмёт исходное Х вида n^2 + 2^k*t^2, либо вида n^2 + 2^k*t^2. где k,t>1, либо Х= {1...6} 1-го погубит даже степень вида (2^k*3)^3 и ^5 на втором шаге. Все мои скудные мысли. Теоремы типа Эйлера у меня не на слуху, если надо их использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 13:35 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Если 2-й дурак, то остаток будет отрицательным. Если дурак 1-й, то он , будет возводить в чётную степень, ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 18:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
На меня можно не рассчитывать: exp98 Пожалуй сдамся. Не знаю как использовать. Находу не получилось. Я не уверен, есть ли обязателный выиигрыш у кго-либо. Даже не знаю, оптимально ли допускать такаую возможность. Куда уж до стратегии мне ... Всегда любил кооперативные "игры", совместное достижение рез-та. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 18:50 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Теоремы типа Эйлера у меня не на слуху, если надо их использовать. Пока высказано только очевидное соображение, что первому не следует брать четную степень. Осталось понять, что можно и что нельзя сделать с помощью нечётной. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 01:57 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, ну не скажиавтор возьмёт исходное Х вида n^2 + 2^k*t^2, тоже 1-му нельзя и тоже очевидное. И n^2+3^3 нельзя, и n^2+3^5. Да я и остатки покомбинировал, ограничений не увидел. На этом фонтан идей высох. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2020, 14:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
подсказки про игру с числамичто, если бы первый игрок не имел возможности возводить в степень? как бы тогда играл второй? про гирькив каком случае мы возьмем в набор крайнюю справа (или слева) гирьку? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 19:26 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 подсказки что, если бы первый игрок не имел возможности возводить в степень? как бы тогда играл второй? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 21:59 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
exp98 Имя пользователя1 подсказки что, если бы первый игрок не имел возможности возводить в степень? как бы тогда играл второй? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 22:19 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я всё сказал. Возведение в 1-ю степень смертельно 1-му. Поспешная апроксимация 2рым в виде (не)чётных степеней 2ки, да и просто квадратами. Всё равно дойдёт дело до "-1". Я не смог найти половых признаков решающей ситации. Пусть пробуют другие. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2020, 15:40 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Перешли в теорию игр? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2020, 16:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
mayton Перешли в теорию игр? говорю же, математика для 5 класса. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2020, 17:00 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Я уже перешёл в 6-й класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2020, 17:45 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Про гирьки вроде просто, не? Рисуем граф из элементов и пути, по которым в них можно попасть. Пути в узел N взвешиваем массой n-й гирьки. Выясняем, что в узел N можно попасть исключительно из узлов N-2 и N-3. Присваиваем узлу метрику S "сумма", вычисляемую как стоимость самого дорогого пути в узел. Итеративно эта метрика определяется как max(S n-2 , S n-3 )+стоимость перехода. Отсюда на линейном (O(N) по времени) проходе нужно помнить 4 суммы (O(1) по памяти) и вернуть самую дорогую из двух самых "свежих": Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 23:13 |
|
|
start [/forum/topic.php?all=1&fid=16&tid=1339678]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
151ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
242ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 683ms |
0 / 0 |