Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
mini.weblabа я тоже не поняла условие: например УсловиеИзвестно, что среди башен во входном файле нет равных. и далее даются башни файла 1 2 2 -> 1^2^2 = 1 1 3 2 -> 1^3^2 = 1 1 2 3 -> 1^2^3 =1 1 3 3 -> 1^3^3 = 1 что я неправильно делаю? Возможно, имелось в виду, что нет двух башен, запись которых во входном потоке в виде строки совпадает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 02:24 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima T, терзают смутные сомнения, что и 4х уровней мало, завтра поэкспериментирую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 02:44 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
mini.weblabа я тоже не поняла условие: например УсловиеИзвестно, что среди башен во входном файле нет равных. и далее даются башни файла 1 2 2 -> 1^2^2 = 1 1 3 2 -> 1^3^2 = 1 1 2 3 -> 1^2^3 =1 1 3 3 -> 1^3^3 = 1 что я неправильно делаю? первая цифра - количество степеней, или кол-во элементов в башне + 1, т.е. 1 2 2 -> 2^2 2 3 3 3 -> 3^3^3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 07:15 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovDima T, терзают смутные сомнения, что и 4х уровней мало, завтра поэкспериментирую предчувствия его не обманули: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 11:33 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Я вчера написал что 4 не помогло 18782630 Надо как-то 5-й добавить. Может понятно станет как 6й и т.д. Похоже логарифмы тут не в тему. Надо какую-то другую зависимость искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 11:45 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TЯ вчера написал что 4 не помогло 18782630 Надо как-то 5-й добавить. Может понятно станет как 6й и т.д. Похоже логарифмы тут не в тему. Надо какую-то другую зависимость искать. Я видел это. Надо хвост из единиц отсекать, а то и 6, и 7 не поможет )) Выше я привел нормальный пример без единичного хвоста, когда не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 11:53 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Отсекал я хвосты. У меня меньшая добивается единицами до высоты большей. Дальше последние 4 от каждой. Надо как-то к общему основанию или степени привести, чтобы эти правила заработали Код: sql 1. 2. 3. только как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 12:18 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TОтсекал я хвосты. У меня меньшая добивается единицами до высоты большей. Дальше последние 4 от каждой. Я о другом. В исходных данных могут подсунуть башни с длинными единичными хвостами. Dima TНадо как-то к общему основанию или степени привести, чтобы эти правила заработали только как? Проще подшаманить с последней парой элементов. Если они в результате дают меньше 300, то гарантированно переполнения не будет, и можно сократить высоту. типа такого Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 12:39 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, эксперименты показывают, что 300 - сильно заниженная оценка, переполнения не происходит даже при 2470, т.е. при вычислении 99^99^99^2470 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 13:21 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
добавил склейку верхних этажей, пока результат меньше 2470 Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 13:39 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovЯ о другом. В исходных данных могут подсунуть башни с длинными единичными хвостами. Эти тоже отсекал. Aleksandr Sharahovэксперименты показывают, что 300 - сильно заниженная оценка, переполнения не происходит даже при 2470, т.е. при вычислении 99^99^99^2470 Скорее всего ты переполнение не заметил. 99^99 = 3,7 * 10^197 99^(10^197) ~ 10^(2 * 10^197) тут уже никаких стандартных типов не хватит. Стандартный double (который в процессоре реализован) имеет предел 10^308. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 13:50 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TСкорее всего ты переполнение не заметил. Разумеется, я не вычислял башню непосредственно, а вычислял двойной логарифм, как это сделано и в твоем, и в моем исходниках. Кроме того, я использую тип extended, а не double. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 14:09 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Например, вот такой тест проходит сравнение 18783990 Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 14:15 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
оффтоп: решил погуглить "сравнение числовых башен". прямого ответа не нашел, зато набрел на статью http://lpgenerator.ru/blog/2014/12/10/zanimatelnaya-statistika-chast-vtoraya-gigantskaya/ в нем степенные башни с одинаковыми числами определяются как "тетрации". Дочитал до места: автор Операция пятого уровня — Пентация (^^^) Пентация — это повторяющаяся тетрация, объединяет последовательности с двумя стрелками в одну операцию. Гипероператор каждого последующего уровня сокращает последовательность предыдущего уровня, используя термин b для обозначения длины последовательности. Например: пентация Умножение сокращает последовательность сложения. Возведение сокращает последовательность умножения. Тетрация сокращает последовательность возведения в степень. В каждом случае a — число в основании, b — длина последовательности. Но что же сокращает пентация? Принцип работы этого гипероператора можно описать как «безумное поглощение степенных башен». Представьте последовательность степенных башен в определенном порядке. Все они имеют одинаковое число в основании, отличаются только количеством уровней. Вычисляем результат первой степенной башни и подставляем его вместо значения высоты (количества уровней) для следующей башни. Затем вычисляем и ее результат и подставляем его в количество уровней следующей степенной башни. И так далее. Каждая последующая башня «поглощает» результат предыдущей, используя её результат для собственного «безумного» роста... и голова начала болеть :) во всяком случае, оставляю это здесь, вдруг кому пригодится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2016, 18:56 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Выше я уже описал возможно единственный способ решения данной задачи. Но способ неинтересный. Ибо ключевой вопрос такой: Можно ли сравнить 2 башни наверняка(даже если разница между ними 1-2 значения) ? Если нельзя, а скорее всего нельзя, то можно ли отсортировать множество башен не сравнивая их друг с другом ? При этом в данном конкретном случае bucket sort не подойдёт Код ниже может быть решение, а может и нет (не разбирал). Сегодня совсем нет времени, да и задача мне пока не нравится. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 01:54 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Интересно. Это задача на тему "Сортировки и последовательности" возможно я был не прав в части логарифмов и экспонент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 02:06 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
maytonИнтересно. Это задача на тему "Сортировки и последовательности" возможно я был не прав в части логарифмов и экспонент. Одно не исключает другое. Задача звучит так: "есть набор последовательностей (башен) и надо их отсортировать". Осталась мелочь: придумать алгоритм сравнения двух башен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 07:11 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВыше я уже описал возможно единственный способ решения данной задачи. Но способ неинтересный. Не нашел. Тут 18775760 мельком какое-то нечеткое сравнение упомянул, а дальше про сложность алгоритма. SashaMercury Ибо ключевой вопрос такой: Можно ли сравнить 2 башни наверняка(даже если разница между ними 1-2 значения) ? Если нельзя, а скорее всего нельзя, то можно ли отсортировать множество башен не сравнивая их друг с другом ? Нельзя отсортировать если невозможно сравнить. Раз есть правильные решения - задача решаема. SashaMercuryКод ниже может быть решение, а может и нет (не разбирал). Сегодня совсем нет времени, да и задача мне пока не нравится. Много букав на непонятном паскале, магические числа (1e239, 1e100) и ни одного камента. Ты бы лучше словами описал свой алгоритм сравнения двух башен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 07:33 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Использование bucket sort позволит провести сортировку не сравнивая элементы исходного множества друг с другом. Однако, в данном конкретном случае, такая сортировка не подойдёт. Может быть существует другой вариант по сортировке без сравнения элементов непосредственно друг с другом ? Алгоритм такой: Использовать быстрое возведение в степень, и свой формат хранения больших чисел. Но данный алгоритм не позволит сравнить две башни, разница между которыми очень маленькая. Тут аналогичная ситуация как с диапазоном long double, и покрытием множества действительных чисел. Асимптотика алгоритма O(nlgn), коэффициент перед функцией будет порядка 10^3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 07:49 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
SashaMercuryИспользование bucket sort позволит провести сортировку не сравнивая элементы исходного множества друг с другом. Однако, в данном конкретном случае, такая сортировка не подойдёт. Может быть существует другой вариант по сортировке без сравнения элементов непосредственно друг с другом ? Не знаю почему ты решил что bucket sort не требует сравнения. Там элементы не сравниваются меж собой на первом шаге, но сравнивается элемент с границами корзины. На втором шаге каждая корзина сортируется обычной сортировкой, т.е. со сравнением элементов. ИМХУ это просто специфичный вид сортировки для очень больших последовательностей: сначала разбиваем на куски, которые гарантированно поместятся в памяти, затем сортируем каждый кусок. SashaMercuryАлгоритм такой: Использовать быстрое возведение в степень, и свой формат хранения больших чисел. Но данный алгоритм не позволит сравнить две башни, разница между которыми очень маленькая. Тут аналогичная ситуация как с диапазоном long double, и покрытием множества действительных чисел. Асимптотика алгоритма O(nlgn), коэффициент перед функцией будет порядка 10^3 Думаю тут достаточно порядок результата прикинуть с точностью до первых 10-15 десятичных разрядов. Но и порядок хранить проблематично: 99^99 = 3,7 * 10^197 99^(10^197) ~ 10^(2 * 10^197) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 09:01 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Если правильно вижу, то решение 18785435 отличается от 18783990 следующим: 1) хранит башню в виде: - количество уровней до шапки - шапка (а не только шапку) 2) вычисляет шапку, 2а) склеивая верхние уровни в один до тех пор, пока ее величина остается меньше 1000 (а не 2470) 2б) логарифмируя полученное значение и умножая его на значение предыдущего уровня, чтобы учесть в шапке на 1 уровень больше (а не на 3 уровня) 3) для всех неучтенных уровней хранит их количество 4) для сравнения башен сравниваются их шапки, однако, если уровни башен до шапок не совпадают, то перед сравнением шапка меньшей логарифмируется столько раз, какова разность уровней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 10:52 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
не совсем понимаю, как оно заметит разницу между 99 99 99 99 99 99 99 99 99 и 98 99 99 99 99 99 99 99 99 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 11:00 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Идея с логарифмированием на разность уровней очень хороша, можно своровать )) И для большей строгости использовать правильное основание, а не просто e. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 11:05 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, логарифм по правильному основанию всё равно расчитывается через натуральные. Строгость мы получаем только в суждениях но в численном методе остаётся тоже что и было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 11:12 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39165200&tid=1340102]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 278ms |
| total: | 564ms |

| 0 / 0 |
