- поиски на монотонных/унимодальных функциях
- работа с модульной арифметикой
- умножение с помощью БПФ
- работа с графами
- генерация случайных объектов
- работа с геометрией
- суффиксный автомат
- дерево палиндромов
- работа со строками
- свой bitset
- алгоритмы теории чисел
- длинная арифметика
- класс рациональных чисел
- система непересекающихся множеств
- разреженная таблица
- дерево отрезков (без и с lazy propagation)
- локальный ввод/вывод через файлы
- быстрый ввод/вывод и мультитест
- шаблон для стресс-теста
- макросы для дебага (в т.ч. в рекурсивных функциях)
directory– папка, в которую дублировать шаблонlast_problem– буква, обозначающая последнюю задачу
Например, clone contest H продублирует шаблон main.cpp в папку contest как A.cpp, B.cpp, ..., H.cpp, а также скопирует сам шаблон main.cpp, файл ввода input.txt и папку с заголовками olymp
- Убирает неиспользуемые
#define,typedef,using,namespace,class,struct, функции и переменные построчно - Не убирает лишние
#include - Содержимое функций оставляет неизменным
- Так как парсер не идеальный, может оставить часть неиспользуемого кода
- Чтобы часть кода гарантированно не была удалена, заключить ее между
#define DONT_CLEANи#undef DONT_CLEAN
input.cpp– название файла с кодом
Для удобного запуска из VS Code: F1 -> Preferences: Open Keyboard Shortcuts (JSON) -> В конец файла дописать:
, { "key": "f9", "command": "workbench.action.terminal.sendSequence", "args": { "text": "run \"${file}\"\n" } }
и добавить папку с репозиторием в системную переменную PATH
- Удаляет исполняемый файл a.exe
- Компилирует файл с кодом input.cpp
- Запускает программу include для файла input.cpp
- Запускает программу clean для вывода программы include
- Копирует вывод программы clean в буфер обмена
- Запускает скомпилированную программу a.exe