Анкета поступающего в олимпиадный кружок по программированию
|
№ |
Вопрос |
Ответ |
|
1 |
Фамилия, имя, отчество |
|
|
2 |
Факультет, группа |
|
|
3 |
E-Mail, телефон (Если Вы не хотите получать рассылку с расписанием занятий кружка, укажите это) |
|
|
4 |
Школа |
|
|
5 |
Занимались ли ранее программированием (кроме школьной программы)? Если да, то где? |
|
|
6 |
Есть ли у Вас награды в олимпиадах и конкурсах (по программированию, математике, физике, других)? Если да, то какие? |
|
|
7 |
Какие языки программирования Вы предпочитаете? |
|
|
8 |
Наиболее удобное для Вас время занятий для лекции (2 часа) и для тренировки (3,5 часа). |
|
|
9 |
Если Вы участвуете в соревнованиях TopCoder, то какой у вас handle на сайте http://topcoder.com/tc? |
|
|
10 |
Как Вы узнали о нашем кружке (от друзей, из объявлений, участвовали в наших соревнованиях, занимались у наших тренеров)? |
|
|
11 |
Что для Вас приоритетней в занятиях кружка? (приобретение полезных навыков, более глубоких знаний computer science, победы в соревнованиях, общения с друзьями, единомышленниками, поездки на соревнования, контакты с работодателями). |
|
Обязательно заполните тематическую анкету с другой
стороны!!!
В этом разделе вам предлагается оценить свои знания по различным
разделам алгоритмического программирования. Это необходимо для как можно более
адекватного распределения участников кружка на группы. Обратите внимание, что
все участники попадут в какую-либо группу, поэтому в ваших интересах
предоставить как можно более точную информацию, чтобы группа соответствовала
вашему уровню.
Оценка знаний производится по 5-балльной шкале:
1 – никогда не слышал про такое
2 – что-то слышал, но очень поверхностно
3 – что-то знаю, если поднапрягусь, смогу разобраться
4 – более-менее знаю, умею применять, но есть, куда улучшать знания
5 – знаю отлично и готов с ходу объяснить это кому-то еще
Проставьте, пожалуйста, ваши оценки своих знаний по следующим разделам:
|
Раздел |
Оценка |
|
Язык программирования: процедуры, функции, массивы, циклы. |
|
|
Язык программрования: работа с файлами. |
|
|
Язык программирования: сложные конструкции и встроенные библиотеки
алгоритмов (напр., STL в C++). |
|
|
Рекурсия и рекурсивные алгоритмы. |
|
|
Оценка сложности алгоритма, теорема о сложности рекурсивных
алгоритмов. |
|
|
Квадратичные методы сортировки (пузырек, вставка и другие). |
|
|
Логарифмические методы сортировки (слияние, QSort, HeapSort и другие). |
|
|
Двоичный поиск и его использование для решения задач (двоичный поиск
по массиву, дихотомия). |
|
|
Троичный поиск. |
|
|
Линейные структуры данных (списки, очереди, стеки, хранение в массиве
и с помощью указателей). |
|
|
Простейшие алгоритмы на графах (поиск в ширину и в глубину). |
|
|
Простейшие применения поиска в глубину (компоненты связности,
топологическая сортировка). |
|
|
Более сложные применения поиска в глубину (компоненты двусвязности и сильной связности, мосты, точки сочленения). |
|
|
Алгоритмы нахождения кратчайших путей (Дейкстра,
Форд-Беллман, Флойд) и поиска остовных
деревьев (Прим, Краскал). |
|
|
Длинная арифметика. |
|
|
Перебор комбинаторных объектов (перестановки, скобочные
последовательности, подмножества и т.д.). Поиск следующего и предыдущего
объекта, поиск по номеру, поиск номера, подсчет числа объектов. |
|
|
Расстояния между точками, прямыми и отрезками на плоскости. Пересечение
прямых, лучей и отрезков. |
|
|
Окружности и работа с ними (пересечение и т.д.). |
|
|
Проверка принадлежности точки многоугольнику. Алгоритм с
использованием случайных прямых и целочисленный алгоритм с использованием
горизонтальной прямой. |
|
|
Алгоритмы поиска выпуклой оболочки (Джарвис, Грехем).
Заворачивание подарка. |
|
|
Метод движущейся прямой (сканирования контура). |
|
|
Рекурсивный спуск. |
|
|
Грамматики и конечные автоматы. |
|
|
Алгоритмы поиска подстрок за линейное время. Поиск многих подстрок (Ахо-Корасик). |
|
|
Динамическое программирование (простейшие случаи). |
|
|
Динамическое программирование по подмножествам и по профилю. |
|
|
Суффиксные деревья, массивы и автоматы. |
|
|
Алгоритмы сжатия данных (LZW, LZSS). |
|
|
Быстрое умножение (Карацуба, Фурье). |
|
|
Игры. Анализ игр на ациклических графах. |
|
|
Анализ игр на циклических графах. Ретроанализ. |
|
|
Функция Гранди и функция Смита. |
|
|
Игры на матрицах. |
|
|
Эффективная реализация системы непересекающихся множеств. |
|
|
Сбалансированные деревья (декартовы, АВЛ, красно-черные). |
|
|
Деревья отрезков. Операции на отрезках. Дерево Фенвика
(в том числе многомерное). |
|
|
Декартово дерево по неявному ключу. |
|
|
Паросочетания и потоки – простейшие алгоритмы (Куна, Форда-Фалкерсона, масштабирование). |
|
|
Паросочетания и потоки – высокопроизводительные алгоритмы. |
|
|
Поток минимальной стоимости. Задача о назначениях. |
|
|
Задача о наименьшем общем предке. Эффективные методы решения. |
|
|
Теоретико-числовые алгоритмы (решето Эратосфена, эвристика Полларда, тест Миллера-Рабина). |
|
|
Вычисления по модулю (нахождение обратного, возведение в степень,
извлечение корня произвольной степени с помощью первообразных корней и с
помощью алгоритма Берлекэмпа). RSA-шифрование. |
|
|
Решение систем линейных уравнений: метод Гаусса, ортогонализация Грама-Шмидта. |
|
|
Симплекс-метод. |
|
С другой стороны необходимо
заполнить личную информацию.