Перечень вопросов для подготовки к муниципальному (межлицейскому) этапу олимпиад



Задания, предлагаемые на муниципальном (межлицейском) этапе олимпиад, составляются, исходя из того, чтобы уровень хотя бы 30% из всех заданий не превышал тот, который рекомендован для школьного (лицейского) этапа.

 

Участник должен знать:

• методы анализа правильности алгоритма;

• позиционные системы счисления;

• понятие вычислительной и емкостной сложности алгоритма;

• способы построения и определения в языке программирования сложных структур данных;

• определение рекурсивных функций;

• методы оптимизации кода программы.

Участник должен уметь:

· сравнивать различные алгоритмы и методы обработки структур данных по их производительности;

· анализировать результаты выполнения алгоритмов, собственные ошибки при выполнении задач;

· тестировать и отлаживать алгоритмы и программы;

· работать с проверяющей системой (отправка решений, получение и учет результата проверки);

· использовать метод динамического программирования с функцией от 1 параметра.

 

Основные структуры данных:

• массив;

• список;

• стек;

• очередь;

• двухсторонняя очередь;

• куча;

• множество.

 

Основные алгоритмы:

• перевод чисел из одной системы счисления в другую;

· расширенный алгоритм Евклида: решение диофантовых уравнений, восстановление числа по остаткам;

· двоичный поиск;

· метод двух указателей (слияние двух упорядоченных массивов);

· эффективные методы сортировки (пирамидальная, слияниями, быстрая сортировка);

· особые случаи сортировки (сортировка подсчетом, цифровая (поразрядная) сортировка);

· нахождение медианы (порядковых статистик);

· длинная арифметика (сложение, вычитание многозначных чисел, умножение многозначного числа на однозначное);

• вычисление расстояния между точками;

• вычисление углов между векторами;

· проверка принадлежности точки прямой, вычисление расстояния от точки до прямой;

• проверка пересечения двух отрезков;

• позиционирование точки относительно многоугольника;

• вычисление площади многоугольника;

• рекурсивный перебор с возвратом;

• подсчет количества комбинаторных объектов.

 

 


Перечень вопросов для подготовки к заключительному этапу олимпиад

 

Задания, предлагаемые на заключительном этапе олимпиад, составляются, исходя из того, чтобы уровень хотя бы 30% из всех заданий не превышал тот, который рекомендован для районного (межлицейского) этапа. Формулировки некоторых заданий могут допускать использование терминологии, не входящей в школьный курс по математике, информатике или другим дисциплинам, но с обязательным разъяснением соответствующих терминов в тексте условия.

Основные структуры данных:

• двусвязные и кольцевые списки;

• деревья;

• двоичные деревья;

• деревья поиска, красно-черные деревья;

• нагруженное дерево (бор);

• множество, отображение;

• хеш-таблица;

• семейство непересекающихся множеств.

Основные алгоритмы:

• умножение многозначных чисел;

• деление многозначных чисел;

• обход дерева (прямой, обратный, симметричный)

· поиск в глубину, проверка связности, наличия циклов, топологическая сортировка;

· поиск в ширину;

· нахождение кратчайших путей (алгоритмы Дейкстры, Беллмана-Форда, Флойда-Уоршолла);

· нахождение минимального остовного дерева (алгоритмы Прима, Краскала);

· построение эйлерова пути (цикла);

· построение гамильтонова пути (цикла);

· поиск подстроки в строке (алгоритмы Кнута-Морриса-Пратта, Бойера-Мура, Рабина-Карпа);

· метод динамического программирования с 2 и более параметрами;

· динамическое программирования на подстроках, на подмножествах.

· построение выпуклой оболочки (метод Грехема, метод Джарвиса);

• метод заметающей прямой;

· порождение комбинаторных объектов (перестановки, подмножества);

• анализ игр.

список литературы для подготовки обучающихся к Республиканской олимпиаде

 

1. Анисимов А.Е. Практикум по основам программирования: учебно-методическое пособие / А.Е. Анисимов. – Ижевск: Изд-во «Удмуртский университет», 2014. – 95 с.

2. Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. – Москва: Вильямс, 2000.

3. Бондарев В.М., Рублинецкий В.М., Качко Е.Г. Основы программирования. – Харьков: Фолио. Ростов-на-Дону: Феникс, 1997.

4. Брудно А.Л., Каплан Л.И. "Московские олимпиады по программированию" – Москва: Наука, 1990.

5. Вирт Н. "Алгоритмы + структуры данных = программы" – Москва: Мир, 1985.

6. Грехем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики. – М.: Мир, 1998. – 703 с.

7. Дасгупта С. и др. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани; Пер. с англ. под ред. А. Шеня. – М.: МЦНМО, 2014. – 320 с.

8. Дейкстра Э. Дисциплина программирования. – М.: Мир, 1978.

9. Ершов А.П., Монахов В.М., Бешенков С.А. и др. Основы информатики и вычислительной техники. – Москва: Наука, 1988.

10. Златопольский Д.М. Программирование: типовые задачи, алгоритмы, методы [Электронный ресурс] / Д.М. Златопольский. – 3-е изд. (эл.). – М.: БИНОМ. Лаборатория знаний, 2015.

11. Кирюхин В.М. Методика решения задач по информатике. Международные олимпиады / В.М. Кирюхин , С.М. Окулов. – М.:БИНОМ. Лаборатория знаний, 2007. – 600 с.

12. Кнут Д.Э. Искусство программирования. Том 1. Основные алгоритмы / под ред. С.Г. Тригуб, Ю.Г. Гордиенко и И.В. Красикова. – Москва: Вильямс, 2002. – Т.1. – 720 с.

13. Кнут Д. Э. Искусство программирования. Том 2. Получисленные алгоритмы / под ред. Л.Ф. Козаченко, В.Т. Тертышного и И.В. Красикова. – Москва: Вильямс, 2001. – Т.2. – 832 с.

14. Кнут Д. Э. Искусство программирования. Том 3. Сортировка и поиск / под ред. В.Т. Тертышного и И.В. Красикова. – 2-е изд. – Москва: Вильямс, 2007. – Т.3. – 832 с.

15. Кнут Д. Э. Искусство программирования, том 4, A. Комбинаторные алгоритмы, часть 1 / под ред. Ю.В. Козаченко. – Москва: Вильямс, 2013. – Т.4. – 960 с.

16. Кристофидес Н. Теория графов. Алгоритмический подход. – Москва: Мир, 1978.

17. Липский В. Комбинаторика для программистов. – Москва: Мир, 1988.

18. Меньшиков Ф.В. Олимпиадные задачи по программированию. – СПб: Питер, 2006. – 315 с.

19. Новиков Ф.А. Дискретная математика для программистов. – Санкт-Петербург: Питер, 2001.

20. Окулов С.М. Основы программирования [Электронный ресурс] / С.М. Окулов. – 6-е изд., перераб. (эл.). – М.: БИНОМ. Лаборатория знаний, 2012. — 336 с.

21. Окулов С.М. Программирование в алгоритмах / С.М. Окулов. – М.: БИНОМ. Лаборатория знаний, 2002. — 341 с.

22. Задачи по программированию [Электронный ресурс] / С.М. Окулов; под ред. С.М. Окулова. – 3-е изд. (эл.). – М.: Лаборатория знаний, 2017.

23. Пападимитриу Д., Стайглиц К., Комбинаторная оптимизация. Алгоритмы и сложность. – М.: Мир, 1984.

24. Порублев И.Н., Ставровский А.Б. Алгоритмы и программы. Решение олимпиадных задач. – М.: ООО «И.Д. Вильямс», 2007. – 480 с.

25. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. теория и практика. – М.: Мир, 1980. – 476 с.

26. Савченко B.C. Разработка алгоритмов: от простого к сложному. – Донецк, 1996.

27. Скиена С.С., Ревилла М.А., Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям. – М.: КУДИЦ-ОБРАЗ, 2005. – 416 с.

28. Уилсон Р. Введение в теорию графов. – Москва: Мир, 1977.

29. Фролов М.И. Учимся программировать на компьютере : Логич. и компьютер. сказки : Самоучитель для детей и родителей / М.И. Фролов. – М.: Лаб. Базовых Знаний, 2002. – 188 с.

30. Шень А.Х. Программирование: теоремы и задачи. – 6 изд., дополненное. – М.: МЦНМО, 2017. – 320 с.


 


Дата добавления: 2020-11-15; просмотров: 95; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!