Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Нашел пару, нерешаемую без склеивания уровней: 64^2^2^2 > 2^3^2^2 , тут недостаточно проверить 2^2^2 < 3^2^2 ЗЫ mayton, загляни в обсуждение задачи, три месяца назад она вообще была нерешаема автор Беляев Сергей Николаевич, 02 ноября 2015 г. 7:18:37 В связи с тем, что ранее авторское решение и тесты были ошибочными, тесты изменены, все решения отправлены на перепроверку, а сложность задачи повышена с 71 до 95. В результате мы имеем 0 верных решений на текущий момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 19:08 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Вот пускай этот Сергей Николаич нам расскажет как он тестировать это будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 19:36 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
maytonВот пускай этот Сергей Николаич нам расскажет как он тестировать это будет. и исходник проверялки пусть покажет, а то вдруг еще чего накосячено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 19:41 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TAleksandr SharahovB 18783990 тот же самый алгоритм сравнения ) ты тут перемудрил Код: sql 1. затестил ради интереса - не проходит мой код с такой проверкой. у меня проще Код: sql 1. Да нет, вроде верно все. Просто epsilon он на то epsilon, чтоб его подбирать при настройке алгоритма. Задача тут отсечь равные с учетом накопившихся ошибок, не затронув при этом почти равные. Dima TAleksandr SharahovДело в том, что таких башен конечное число, и, похоже, что после склейки верхних уровней не существует таких башен высотой более 4 (если считать склеенные уровни за 1). Т.е. главная фишка алгоритма - именно склейка верхних уровней. c 10 до 4 не склеить даже если там одни двойки. 2^2^2^2 = 65536 а дальше не склеить. Но т.к. по условию задачи исходные уровни не более 99, т.е. максимум склеиваются три верхних в один, например 2^2^2 = 16 Как следствие функция проверки должна работать без склеивания. А если она не работает, то значит должна существовать такая пара пятиуровневых башень A(a1^a2^a3^a4^a5) и B(b1^b2^b3^b4^b5) удовлетворяющих условию A<B при a3^a4^a5>b3^b4^b5 или (a3^a4^a5=b3^b4^b5 и a2>b2) или (a3^a4^a5=b3^b4^b5 и a2=b2 и a1>b1) Ломаю голову как найти такую комбинацию, т.е. доказать что без склейки никак не решить. Перебор тут на годы может растянуться. Ты не понял. У меня речь идет о 4х ВЕРХНИХ уровнях, причем после того, как самый верхний их них был получен склейкой (см. мой алгоритм сравнения 18783990 ) P.S. Задачей этой почти не занимался, только в метро иногда размышляю, да слежу, что тут пишут ) Все на выходные откладываю удовольствие. По-хорошему, про 5й уровень доказать надо, что там нету наших башенок, а то все решение коту под хвост. Да и не особо теперь доверяю проверке от авторов задачи ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 19:42 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonВот пускай этот Сергей Николаич нам расскажет как он тестировать это будет. и исходник проверялки пусть покажет, а то вдруг еще чего накосячено Я не думаю что создатели контестеров утруждают себя написанием исходника. Скорее всего исходник это плод крауд-сорсинга. Или просто отбирается на конкурсной основе самый компактный (или бысстрый) в своём классе ЯП. И опять-же его никому не показывают. Ну.. если-бы я организовывал подобные соревнования то ябы точно не осилил 700 олимпиадных задач решить да еще и без ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 19:47 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Вирт в этом плане лучший. Все до мельчайших подробностей у него! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 00:00 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Что у него? 700 олимпиадных задач? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 02:30 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovТы не понял. У меня речь идет о 4х ВЕРХНИХ уровнях, причем после того, как самый верхний их них был получен склейкой (см. мой алгоритм сравнения 18783990 ) Не сработает на такой Код: sql 1. 2. 3. 99^99 это 197 десятичных знаков, а в double мантисса всего 15, т.е. хвост теряется из-за погрешностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 07:53 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Если кому надо для отладки - можете взять мой тест с ответом Код: 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. ответ Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 08:12 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TAleksandr SharahovТы не понял. У меня речь идет о 4х ВЕРХНИХ уровнях, причем после того, как самый верхний их них был получен склейкой (см. мой алгоритм сравнения 18783990 ) Не сработает на такой Код: sql 1. 2. 3. 99^99 это 197 десятичных знаков, а в double мантисса всего 15, т.е. хвост теряется из-за погрешностей. Да посмотри уж, наконец, мое решение 18783990 ) Все сработает. Повторяю еще раз, твое решение полностью совпадает с моим. Разница только в работе с epsilon, которую я не настраивал, т.к. пока не занимался этой задачей плотно. Просто у меня есть несколько направлений, куда двигаться, чтобы решение задачи не было похоже на чит. К тому же я, похоже, знаю где искать почти одинаковые башенки. Вопрос только во времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 09:17 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovDima TНе сработает на такой Код: sql 1. 2. 3. Да посмотри уж, наконец, мое решение 18783990 ) Все сработает. Сработает и ладно. Поверю на слово. Смотрел неоднократно и уже несколько раз писал что китайской грамоте не обучен. Ну не знаю я паскаля с его нездоровым синтаксисом. И ни одного камента у тебя нет. ХЗ что такое High(MaxBaseForPower) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 09:49 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Кажется понял, на что ты надеешься. Думаешь раз совпало, то досравнится тут: Код: sql 1. 2. 3. 4. Тот пример пройдет, этот не должен. Код: sql 1. 2. 3. 4. Правильный ответ 3 2 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 10:19 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima T, да, думаю ) Твой пример показывает, что от схлопывания может быть не только польза, но и вред. Чтобы все сработало правильно, надо подстроить жадность алгоритма схлопывания. У меня она задается константой 2470, исходя из которой рассчитаны значения элементов MaxBaseForPower. Значит, нужно изменить порог схлопывания так, чтобы оно не выполнялось в данном случае - и все сработает. Я пробую обсуждать алгоритм, а не значения констант ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 11:19 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima T, Кстати, там же в исходнике строчкой выше объявления массива MaxBaseForPower для константы 2470 закомментирован другой вариант объявления для константы 300. Если его раскомментировать, то твой пример проходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 11:43 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Можно попробовать зайти с другой стороны. Если добить все короткие башни справа до 9 членов единицами, то получим всего 99^9 = 913517247483640899 вариантов, что сущий пустяк по сравнению с например с 2^65536! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 11:46 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВМожно попробовать зайти с другой стороны. Если добить все короткие башни справа до 9 членов единицами, то получим всего 99^9 = 913517247483640899 вариантов, что сущий пустяк по сравнению с например с 2^65536! правильно 98^9 т.к. нули не используются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 11:56 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima Tправильно 98^9 т.к. нули не используются. 833747762130149888 - еще лучше :) Можно ввести последовательность 1 1 1 1 1 1 1 1 1 ->1 1 1 1 1 1 1 1 1 2 ->2 ...................... 1 1 1 1 1 3 1 1 3 ->2910900 ...................... 99 99 99 99 99 99 99 99 99 -> 833747762130149888 которая задается формулой k 9 *99^9+...k 1 где k i 0..9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 12:45 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВDima Tправильно 98^9 т.к. нули не используются. 833747762130149888 - еще лучше :) Можно ввести последовательность 1 1 1 1 1 1 1 1 1 ->1 1 1 1 1 1 1 1 1 2 ->2 ...................... 1 1 1 1 1 3 1 1 3 ->2910900 ...................... 99 99 99 99 99 99 99 99 99 -> 833747762130149888 которая задается формулой k 9 *99^9+...k 1 где k i 0..9 И чем она будет отличаться от того как мы это сейчас пишем? Единичкой вместо пробела и записью слева направо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 12:56 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TИ чем она будет отличаться от того как мы это сейчас пишем? Единичкой вместо пробела и записью слева направо? Пусть то было множество M1. Вычислим все возможные пирамиды и отсортируем, получим множество M2, точно такой же мощности как и первое. Теперь осталось найти функцию, которая по каждому номеру элемента из M1 сопоставляет номер элемента из M2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 14:03 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВ, для начала прикинь сколько времени это будет считаться. Потом сколько места надо будет для хранения результата, потом обсудим "отсортируем" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 14:10 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TЕвгенийВ, для начала прикинь сколько времени это будет считаться. Потом сколько места надо будет для хранения результата, потом обсудим "отсортируем" Если найти нужную функцию, то всего этого не потребуется :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 14:14 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Если выполнить первый пункт "Вычислим все возможные пирамиды", т.е. найти способ вычисления, то функция не потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 14:18 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovDima T, да, думаю ) Твой пример показывает, что от схлопывания может быть не только польза, но и вред. Чтобы все сработало правильно, надо подстроить жадность алгоритма схлопывания. У меня она задается константой 2470, исходя из которой рассчитаны значения элементов MaxBaseForPower. Значит, нужно изменить порог схлопывания так, чтобы оно не выполнялось в данном случае - и все сработает. Я пробую обсуждать алгоритм, а не значения констант ) Я так и не понял это ноу-хау с MaxBaseForPower. Понимаю что это какой-то результат твоих многоуровневых размышлений, но я не телепат. Будь проще - заработаешь больше. Если честно - уже устал придумывать тесты (хотя в связи с этим появилось кое-какое понимание как делать тесты) и запости свое "итого" на проверку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 20:19 |
|
||
|
Алгоритмы
|
|||
|---|---|---|---|
|
#18+
Dima TЯ так и не понял это ноу-хау с MaxBaseForPower. Да там примитивно все. Пусть два самых уровня башни представляют собой башенку a^b. Тогда мы заменяем их одним эквивалентным уровнем ("склеиваем"), если в результате склеивания будет получено значение не больше некоторой константы (например, 300), в противном случае не склеиваем. Такое шаманство позволяет "улучшить" плохие башни с маленьким числом сверху. Это улучшение позволяет сосредоточить основные вычисления на верхних 4х уровнях. Как мы видели выше, слишком увеличивать эту константу опасно, т.к. ошибки вычислений приводят к невозможности различить разные башни. В общем, как раз этим мне и не нравится это решение. Какие-то полуинтуитивные действия приводят к успеху. Хочется не то чтобы строгого доказательства, но хотя бы четкого обоснования, почему все работает. Почти уверен, что если в условии 99 поменять на 255, алгоритм не сработает. Ну, и хотелось бы иметь возможность проверить работу алгоритма автора задачи ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2016, 20:59 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39169290&tid=1340102]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 279ms |
| total: | 564ms |

| 0 / 0 |
