KAP's blog

By KAP, history, 3 years ago, In Russian,

Суть поста вкратце: я считаю, что на олимпиадах, целью которых (хотя бы отчасти) является выявление победителя, задачи должны быть составлены так, чтобы победитель не набрал максбалл — победитель должен скорее набирать процентов 70-80.

Read more »

 
 
 
 
  • Vote: I like it  
  • +92
  • Vote: I do not like it  

By KAP, 4 years ago, In Russian,

[TLDR: заходите на universities.meteor.com, оставляйте там отзывы о своих университетах и читайте отзывы других пользователей.]

На codeforces, да и в других местах, регулярно возникают вопросы "куда поступать", "расскажите про университет" и т.п. Это зачастую выливается в длительное обсуждение, но потом подобные обсуждения теряются в глубинах сайта и оставляют мало полезной информации на будущее. Более того, такие обсуждения, как правило, затрагивают только один университет (в лучшем случае — сравнивают два университета), и обычно покрывают лишь весьма ограниченный список тем из того, что хотят знать абитуриенты.

Чтобы исправить эту проблему, я сделал сайт universities.meteor.com

Read more »

 
 
 
 
  • Vote: I like it  
  • +79
  • Vote: I do not like it  

By KAP, 5 years ago, In Russian,

Так сложилось, что в 2008­-2009 годах я написал несколько довольно объемных текстов на разные темы алгоритмического программирования. Писал я их в то время для некоторой группы нижегородских школьников, но с тех пор некоторые из этих текстов я довольно широко распространял, последнее время явно в них указывая лицензию CC-BY-SA.

Теперь я решил выложить эти тексты на github, чтобы а) сделать их распространение еще более широким, но при этом более упорядоченным; б) чтобы желающим было бы проще исправлять ошибки и опечатки, коих там достаточно.

Итак:

https://github.com/petr-kalinin/progtexts

или, если вам интересуют только pdf, а не LaTeX-исходники, то

https://github.com/petr-kalinin/progtexts/releases/latest

Темы текстов (кружочком помечены те, которые получили довольно широкое распространение):

    • Перебор с возвратом
  1. Сложность алгоритмов, O-нотация
  2. Различные мелкие алгоритмические идеи, а также около-программистские замечания
    • Поиск в глубину
    • Динамическое программирование

Тексты, конечно, подразумевают некоторый начальный уровень знаний. Если за шкалу «уровней знаний» для удобства принять параллели ЛКШ, то тексты ориентированы примерно на уровень начиная с «чуть старше параллели C» и до параллели A'.

Сразу предупреждаю (disclaimer), основной текст писался 5-6 лет назад, поэтому местами могут быть устаревшие фрагменты. Вообще, там было довольно много упоминаний Borland Pascal, я вроде постарался при подготовке к публикации их все убрать, но, возможно, что-то я пропустил. Кроме того, там могут быть и разные другие проблемы и даже где-нибудь может быть написана полная ерунда — я особенно внимательно тексты давно не перечитывал. Сообщайте о таком.

Если тексты вас заинтересуют, и будут комментарии, замечания, ошибки — пишите или (даже лучше!) предлагайте pull-request'ы.

Лицензия на pdf-ки — CC-BY-SA. На TeX-код пока не знаю, какая лицензия; подскажите, какую лицензию лучше использовать?

Read more »

 
 
 
 
  • Vote: I like it  
  • +48
  • Vote: I do not like it  

By KAP, 5 years ago, In Russian,

Люди, занимающиеся со школьниками, а также школьники, занимающиеся программированием!

Посоветуйте, как стимулировать школьников решать задачи?

Вот я веду занятия у школьников. Они далеко не всегда активно решают задачи из дома. То есть проходим мы с ними новую тему, я даю им задачи — они немного иногда успевают решить из класса, но из дома дорешивают мало.

Можно пытаться придумать какую-нибудь систему поощрений. Ну например выдавать каждую неделю по шоколадке тому школьнику, который решил больше всех задач за эту неделю. Но такой вариант обладает рядом недостатков.

Read more »

 
 
 
 
  • Vote: I like it  
  • +19
  • Vote: I do not like it  

By KAP, 6 years ago, In Russian,

17 августа на 72 году жизни скоропостижно скончался Владимир Денисович Лелюх.

Владимир Денисович многие годы учил школьников Нижегородской области программированию и занимался подготовкой участников олимпиад. Он являлся основателем и бессменным лидером нижегородской школы олимпиадного программирования; он много лет вел занятия со школьниками на базе Нижегородского государственного университета, а также во многих школах Нижнего Новгорода и близлежащих городов; многократно проводил серии занятий в Сарове. Он был одним из немногих преподавателей в России, чьи ученики на протяжении почти 20 лет достигали наивысших успехов в олимпиадах по информатике. Восемь его учеников являлись призерами международных олимпиад по информатике; с 1995 года по настоящее время они 13 раз завоевывали золотые медали (что составляет более четверти всех золотых медалей российских участников за всю историю IOI), 1 раз серебряную и 3 раза бронзовые. Из этих 13 золотых медалей две — это абсолютные первые места, и еще одна — это разделенное абсолютное первое место. Команды ННГУ под его руководством неоднократно участвовали в финалах чемпионата мира по командному программированию ACM.

Владимир Денисович активно участвовал в организации олимпиад по информатике. Он был многократным членом жюри Всероссийских олимпиад школьников по информатике и других олимпиад всероссийского масштаба; по его инициативе и под его руководством с 2005 года проводится Нижегородская городская олимпиада школьников по информатике, где он был бессменным председателем жюри. Владимир Денисович был преподавателем лицея 40 г. Нижнего Новгорода, где вел информатику в «Ф» (физических) классах.

До последних дней Владимир Денисович продолжал заниматься со школьниками; на конец августа он планировал серию интенсивных занятий со школьниками Нижнего Новгорода.

Светлая память!


В. Д. Лелюх и Михаил Баутин, летняя школа «Одаренные дети», лагерь «Лазурный», август 2000 года. (Через пару месяцев Михаил станет абсолютным победителем международной олимпиады школьников по информатике.)


В. Д. Лелюх и Ю. Л. Кетков, закрытие нижегородской областной олимпиады школьников по информатике, февраль 2003


В. Д. Лелюх и Билл Пучер, финал чемпионата мира по командному программированию ACM, март 2003 г., Лос-Анджелес


В. Д. Лелюх ведет занятие своего университетского (воскресного) кружка, ННГУ, ориентировочно 2003 год


В. Д. Лелюх на сборах команд-финалистов чемпионата мира по программированию ACM, январь 2004 г., Петрозаводск


В. Д. Лелюх в летней школе «Одаренные дети», лагерь «Лазурный», июль 2004 г.


В. Д. Лелюх в летней школе «Одаренные дети», лагерь «Лазурный», июль 2004 г.


В. Д. Лелюх в летней школе «Одаренные дети», лагерь «Лазурный», июль 2005 г.


В. Д. Лелюх на закрытии Нижегородской городской олимпиады школьников по информатике, декабрь 2005 г.


В. Д. Лелюх на закрытии Нижегородской городской олимпиады школьников по информатике, январь 2007 г.


В. Д. Лелюх в летней школе «Одаренные дети», лагерь «Лазурный», июль 2007 г.


В. Д. Лелюх на закрытии Нижегородской городской олимпиады школьников по информатике, февраль 2010 г.

Read more »

 
 
 
 
  • Vote: I like it  
  • +121
  • Vote: I do not like it  

By KAP, 6 years ago, In Russian,

Что делать, если вам в программе надо вычислить значение производной некоторой функции, но вам очень не хочется прилагать для этого специальные усилия — т.е. не хочется ни дифференцировать на бумажке, ни забивать ваши формулы в Sage/Wolfram Alpha/Maple/...? Тем более если вы не хотите заново проводить все выкладки, если вдруг окажется, что производную надо брать от другой функции? Естественно, вариант написать (f(x+eps)-f(x))/eps вас по понятным причинам не устраивает тоже.

Вот код, который решает уравнение  методом Ньютона. А вот и подробный пост (мой же) с формулами, объясняющий, как это работает и чем это круто.


Я этот способ использовал некоторое время назад (как и сказано на Хабре), когда мне надо было решить систему из двух уравнений методом Ньютона. Потом я спонтанно рассказывал его в ЛКШ.Зима. Потом я обнаружил, что этот прием называется «автоматическое дифференцирование», но, видимо, не очень широко известен. Поэтому подумал, что, пожалуй, стоит про него и написать.

Read more »

 
 
 
 
  • Vote: I like it  
  • +60
  • Vote: I do not like it  

By KAP, 6 years ago, In Russian,

9 февраля (в следующую субботу) с 15:00 до 20:00 на сайте informatics.mccme.ru пройдет интернет-трансляция IX Нижегородской городской олимпиады школьников по информатике. Участвовать могут все желающие, участие полностью неофициальное (т.е. никаких плюшек за результаты не будет, вы участвуете из своего интереса, — но результаты интернет-трансляции подведены будут и вы сможете их даже сравнить с результатам олимпиады в Нижнем Новгороде).

Олимпиада проводится по правилам личных олимпиад (как на региональном этапе) — оценка потестовая, группы тестов отсутствуют, во время тура проводится проверка только на тестах из условия, окончательная проверка проводится offline после окончания тура.

Новость на сайте informatics: http://informatics.mccme.ru/moodle/mod/forum/discuss.php?d=1702.

Спасибо dkirienko за организацию


Нижегородская городская олимпиада — отдельная олимпиада, не входящая ни в систему всероссийских олимпиад, ни в «Перечень олимпиад...» Олимпиада проводится с 2005 года (не считая нижегородских городских олимпиад, проводившихся до 1999 года другими людьми и другой организацией). Авторы задач олимпиады 2013 года:

UPD: участников олимпиады, членов жюри, а также тех, кто почему-либо в курсе задач и/или результатов олимпиады, прошу до окончания трансляции здесь в комментариях не обсуждать ни задачи, ни результаты, ни что-либо еще, что может так или иначе спалить участникам трансляции информацию.

Read more »

 
 
 
 
  • Vote: I like it  
  • +9
  • Vote: I do not like it  

By KAP, 6 years ago, In Russian,

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

...Позавчера утром я сидел на открытии региональной олимпиады в Нижегородской области. Проводив участников решать задачи, я поехал домой. Поскольку с утра я наблюдал некоторые разногласия в вопросах проведения олимпиады между участниками и жюри, я решил все-таки раздобыть “Требования к проведению регионального этапа...” этого года, чтобы вечером, после тура, было что дать почитать жюри. (Сразу отмечу, что я не имею никакого отношения к проведению региональной олимпиады — ни как член местного жюри, ни как разработик задач.)

Чтобы скачать “Требования...”, я, естественно, полез на rosolymp.ru — именно там они были все прошлые годы. Сейчас там я требований не нашел, зато наткнулся на интересную новость. Заголовок новости гласил примерно следующее: “Вниманию жюри региональных этапов олимпиады по информатике!” (здесь и чуть ниже тексты цитирую по памяти, т.к. новость с сайта удалили).

К новости были приложены два файла. Первый назывался circles-check.zip и, конечно, меня сразу заинтересовал. Но второй был doc-файлом, и поэтому я начал изучение новости с него. Как и следовало ожидать, doc-файл был адресовам жюри региональных этапов, и его основная часть состояла из двух пунктов:

1. В условии задачи 2 необходимо заменить ограничение 100 000 на 10 000;
2. Проверяющая программа по задаче 7 содержит неточности; правильная проверяющая программа прилагается.

Read more »

 
 
 
 
  • Vote: I like it  
  • +95
  • Vote: I do not like it