[Условия задач] [Список тренировок]
2A. Простые числа
[primes2] Идентично [primes]
Первая задача [primes] проходит даже если перебирать в качестве делителей все числа в интервале [2,sqrt(n)]. Вторая же задача [primes2] проходит только, если перебирать нечетные делители.
[primes2] Precalc всех простых чисел
Предыдущую реализацию можно ускорить если в качестве делителей использовать не просто нечетные числа, а простые. Ускорение ~ в 2 раза.
[primes2] Решето Эратосфена
Решето Эратосфена упоминается в учебниках по математики за 6 класс. Сам подход несложен и вполне понятен. Реализация лаконична и не представляет сложности. Ко всему прочему это наиболее эффективный подход к нахождению простых чисел в заданном интервале.
четверг, 11 марта 2010 г.
Тренировка #2 [Меньшиков]
понедельник, 8 марта 2010 г.
Тренировка #1 [Меньшиков]
[Условия задач] [Список тренировок]
1A. Простые числа
[primes]
Незамудренная реализация с одной фишкой: при нахождении делителей числа перебираем только нечетные из них. Как показала практика при этом достигается экономия по времени в 4 раза.
1B. Выражение
[expr]
Лаконичная рекурсивная реализация. Помимо этого решение имело место решение с генерацией всех комбинаций ‘+’ и ‘–’ для текущего набора чисел, которое требовало пересчета всего выражения целиком для каждой комбинации. Это решение не прошло по времени. К достоинству рекурсивного решения относится то, что перерасчет всего выражения не требуется. Нужно пересчитать только его изменившийся конец.
Олимпиадные задачи по программированию [Федор Меньшиков]
Начинаем марафон по всем задачам из этой замечательной книги. На каждую задачу будет предложен как минимум один вариант решения. Задачи буду выкладывать по мере их решения и по мере прохождения материала на субботних тренировках.
Тренировка #1 [08Mar10]
Тренировка #2 [11Mar10]
Тренировка #3 [18May10]
Тренировка #4 [20May10]
Тренировка #5 [19Nov10]
Тренировка #6 [23Nov10]
Тренировка #7 [29Nov10]
Тренировка #8 [08Dec10]
Тренировка #9 [18Dec10]
Тренировка #10 [24Dec10]
Тренировка #11 [28Dec10]
Тренировка #12 [06Jan11]
Тренировка #13 [08Jan11]
Тренировка #14 [11Jan11]
Тренировка #15 [17Jan11]
Все задачи тестируются в online-judge системе [informatics.mccme.ru], и если будет указано время работы любого из решений, то стоит считать, что эти данные были получены именно оттуда.
P.S: Исходники первых 4 тренировок могут давать ошибку компиляции на указанном сервере. Это связано с обновлением компилятора. Большую часть проблем может решить подключение заголовочного файла <cstdio>