|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
||||||
Олимпиадная задача01.10.2020, 06:33. Показов 6631. Ответов 37
Написал код, но он жутко медленный на больших значениях. Как исправить?
Правой частью натурального числа N назовем число K, полученное из двоичной записи числа N отбрасыванием всех цифр, стоящих левее крайней правой единицы, и преобразованное обратно в десятичную систему. Так, правой частью числа 6 является число 2, а правой частью числа 1088 – число 64. Вам требуется определить сумму правых частей всех натуральных чисел из интервала [A, B], включая границы этого интервала, где 1 < A < B < 10^15. Гарантируется, что результат будет помещаться в 64-битное целое число. Для 50 % тестов 1 < A < B < 10^8, а результат будет помещаться в 32-битное целое число.
0
|
||||||
| 01.10.2020, 06:33 | |
|
Ответы с готовыми решениями:
37
Олимпиадная задача Олимпиадная задача Олимпиадная задача |
|
|
||
| 01.10.2020, 16:31 | ||
|
1
|
||
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|
| 01.10.2020, 17:09 [ТС] | |
|
Garry Galler, памяти стало использовать в разы меньше, спасибо за подсказку. Возросло время выполнения (ограничение в 2 секунды, выполняется буквально на 6 мс больше)
Добавлено через 1 минуту eaa, пока шел домой появилось пару мыслей насчет "формулы". Ты же тоже над ней думал, не так ли? Напиши, к чему в итоге пришел, подумаем все вместе
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 01.10.2020, 17:34 | |
|
eaa,
Тоже есть, но без рекурсии( Но тоже быстро ![]() Добавлено через 35 секунд Кстати, для 1 10^15 тот же результат
0
|
|
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|
| 01.10.2020, 18:52 [ТС] | |
|
eaa, на самом деле мне было бы и правда проще разобрать чужой код и переписать его несколько раз чем изобретать велосипед (причем с квадратными колесами) по несколько часов (хотя если начинать заполнять массив с 1, то я в целом смог состряпать простенькую формулу. Но если вести отчет, например, с 5? Тут я бессилен...)
Gdez, Так что, делитесь ![]() Добавлено через 6 минут Похвастаюсь, тоже придумал рекурсивную. Но совсем топорную
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 01.10.2020, 19:02 | |
|
Идея такая
135 Максимальное число степени двойки - 128. Входит 1 раз Следующая - 64. Входит 2 раза. Минус предыдущее 1. Ответ 1 Следующая - 32. Входит 4 раза. Минус сумма предыдущих (1 + 1). Ответ 2 Следующая - 16. 8 раз. Ответ - 4 Следующая - 8. 16 раз. Ответ - 8 След - 4. 33 раза. Ответ - 17 След - 2. 67 раз. Ответ - 34 След - 1. 135 раз. Ответ - 68 Теперь результат для 135 = 2^0 * 68 + 2^1 * 34 + 2^2 * 17 +....... = 588 Добавлено через 2 минуты Находишь для A и B отдельно Ответ -> для (B) - (A) Добавлено через 55 секунд user1472382, покажи код ) Рекурсия у меня как то так...
2
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 01.10.2020, 19:26 | |
|
eaa, Нет, на три строчки не потяну.(
Можно конечно завернуть в длинные генераторы. По отдельности получилось 15 строчек. Добавлено через 58 секунд user1472382, А рабочая ссылка на тестирование (посмотреть свой код) есть?
0
|
|
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|||||||
| 01.10.2020, 19:42 [ТС] | |||||||
|
Gdez, простите, когда писал "топорный" не подумал, что наши алгоритмы сойдутся))))
А вообще, код простой.
0
|
|||||||
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|
| 01.10.2020, 19:49 [ТС] | |
|
eaa, eaa, ого, 3 строки всего...
пойду, пожалуй, Лутца дочитаю... Добавлено через 1 минуту Gdez, там от школы регистрировали, так что сейчас уже никак Можешь скинуть мне свой код в лс, я отпишусь о результатах
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
||||||
| 01.10.2020, 19:51 | ||||||
0
|
||||||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 01.10.2020, 19:57 | |
|
Нет. Похоже рекурсию ниасилю очдолго
0
|
|
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|
| 02.10.2020, 03:52 [ТС] | |
|
eaa,
![]() Как жаль, что это только пробники
0
|
|
| 02.10.2020, 03:52 | |
|
Олимпиадная задача Кирпичи
Похожие подарки Олимпиадная задача Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|