Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Задача на бинарный поиск |
Автор: Dmi3ev 8.10.2013, 04:12 | ||
Всем привет, давно меня не было, нужна помощь... http://informatics.mccme.ru/moodle/mod/statements/view3.php?chapterid=2969&run_id=1710r1537#1 вот исполнение GNU C++ 4.7.2
проходит все тесты кроме одного... В этом тесте задачу решает, но выходит за временные рамки на 0,08 с( |
Автор: xvr 8.10.2013, 12:45 |
Это зачем? Чем просто деление не угодило? |
Автор: Dmi3ev 8.10.2013, 14:44 |
Какое деление??? |
Автор: volatile 8.10.2013, 15:02 |
Имхо там не нужен поиск. Если не ошибаюсь, задача решается прямым вычислением. т.е. алгоритм изначально не оптимальный, поэтому время большое. Добавлено @ 15:05 Добавлено @ 15:07 Короче так: r=(hd-1)/dp +1; Но суть не в этом, а в алгоритме. |
Автор: Dmi3ev 8.10.2013, 15:51 | ||||||
а воз и ныне там) PS если нет советов и идей, то... все тесты укладываются в 2 с, а этот нет... большинство (16/17) за 0,012 не выходят... |
Автор: baldina 8.10.2013, 17:49 |
тут оно небыстро работает |
Автор: Dmi3ev 10.10.2013, 01:30 | ||
вот такая прошла оптимизация... все работает за 0,003 кроме одного теста... там все еще 2,08. Думаю подвох в больших числах или еще чего, алгоритм верный, тут сомнений нет... |
Автор: Alex Feat 10.10.2013, 11:25 |
Подвох возможен в большом количестве жизней дракона и маленьком количестве урона копейщиков. Получается что при уменьшении количества копейщиков увеличивается время имитации поединка. Только вот не знаю, как можно ускорить процесс вычисления победы или поражения.. надо наверное формулу выводить и избавляться от вложенного цикла. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Задача-на-бинарный-поиск-id52535c96ae20152446000000#findElement_E7045_52566482ae2015390900039a_0 |
Автор: Dmi3ev 10.10.2013, 19:15 | ||
Да, я тоже так думаю, получается, что если у дракона и у копейщика много жизней и маленький урон, то долгое время никто никого не убивает((( а это значит, поединок продолжается... |
Автор: Dmi3ev 10.10.2013, 21:31 |
Решено, ура))) Посмотрел на задачу чуть с другой стороны))) Все проще простого, надо три цикла а не два... тогда все ок. |
Автор: o2n3e 12.10.2013, 14:42 |
Модератор: Сообщение скрыто. |
Автор: o2n3e 14.10.2013, 16:11 |
Модератор: Сообщение скрыто. |
Автор: Dmi3ev 14.10.2013, 19:11 | ||
Да нормально всё, тесты летают за 0,003. Можно оптимизировать, но и так время хорошее... Не понимаю, что тебе не нравится??? Покажи свою шикарную версию решения, умник... |
Автор: o2n3e 15.10.2013, 15:04 |
Модератор: Сообщение скрыто. |