Николай Киров
Преподаване 2014/2015

Школа "Състезателно програмиране"

Организирана от департамент Информатика с финансовата подкрепа на ЦЕНТРАЛЕН ФОНД ЗА СТРАТЕГИЧЕСКО РАЗВИТИЕ на Нов български университет (договор № 955/06.11.2014).
Facebook Welcome: pdf html
График за състезания по програмиране на НБУ Студентски състезания по програмиране
infO(n)

Н. Киров, Републиканската студентска олимпиада по програмиране и представянето на отборите на НБУ,
семинар на департамент "Информатика", 22.05, 14.40, 703-2.

9.05 - Републиканска студентска олимпиада по програмиране - ЮЗУ, Благоевград

Отново купа и медали за НБУ!!
Класиране на отборите в края на състезанието.



14.05, четвъртък, 702-2, 16:30


7.05, четвъртък, 702-2, 16:30
(на 30.04  занятие няма да име - приятна почивка на 1, 2 и 3-ти май!)


Моля, разгледайте авторовите решения на задачите от състезанието, ще ги объдим накратко на 7.05.

Състезание на 25.04, събота, 10:00, 702-2 (Н. Киров, В. Николов): задачи, резултати, тестове и решения
23.04, четвъртък, 702-2, 16:30, Н. Киров
Валери и Станислав: Състезанието в Румъния
Соня: Задача A от последното състезание

Състезание на 18.04, събота, 10:00, 702-2 (Н. Киров, В. Николов, Кр. Манев):, задачи, тестове и решения, резултати

16.04, четвъртък, 702-2, 16:30, Н. Киров

Състезание на 4 април, събота, 10:00, 702-2 (В. Николов), за
дачи, тестове и решения, резултати

Отбори за РСОП:

НБУ1

Здравко Донев (капитан)
Димитър Драгостинов
Кирил Вучков

НБУ2
Соня Милева (капитан)
Валери Цолов
Станислав Иванов

НБУ3
Владимир Петков (капитан)
Владислав Атанасов
Марио Георгиев

НБУ4

Карина Караабова (капитан)
Самир Мурадов
Явор Кръстьовски

Ръководители (треньори): проф. Красимир Манев, доц. Николай Киров, Велислав Николов

Пътуваме с коли и автобус на 8.05, петък, (предполагам) до 16 часа трябва да сме в ЮЗУ за откриване и техническа конференция, нощуваме в Бачиново (запазвам по 2 стаи на отбор), връщаме се в събота след обявяване на резултатите и (надявам се) коктейла за участниците.

2.04, четвъртък, 702-2, 16:30,  Н. Киров, В. Николов
Анализ на задачите от състезанието:

А - Станислав
B - Карина
C - Владислав
D - Соня
E - Карина
F - Самир
G - Владислав
H - Марио
I - Станислав
J - Валери
Състезание на 28 март, събота, 10:00, 702-2 (В. Николов): задачи, резултати, тестове и решения

26 март, четвъртък,  16:30, 702-2 Н. Киров
От Велислав: Връзки към инфо за индексни дървета на сайта:

материали в TopCoder
материали от ФМИ
материали от Искрен Чернев
материали от Митко
материали в MAXimal

визуализация

Станислав ще разкаже за индексни дървета и ще разгледа няколко задачи, от архива на Митко.
Ето условията на задачите, които трябва да опитате да решите до четвъртък.

Основната и най-лесна задача е:

Имаме n (много голямо число) кутии и възможните операции, които можем да извършим са:
  - да добавим предмет в кутия i
  - да извадим предмет от кутия i
  - да намерим сумата на предметите от всички кутии от кутия k до кутия j
  - да кажем колко предмета има в кутия i

Останалите три задачи са:
Първата задача е Japan. Втората  е SORT и третата e RASPORED.


19 март, четвъртък,  702-2
16:30 Н. Киров, Обсъждане на "лесните" задачи от състезанието
18:00 В. Николов,  Обсъждане на "трудните" задачи от състезанието
Разпределение на задачите:
А - Здравко
B - Владислав
C - Валери
D - Димитър
E - Станислав
F - Карина
G - Соня
H - Ивайло
I - Самир
J - Марио
Анализът на задачите включва:
1. Условие - превод на информатичен език
2. Примери -
3. Размерности
4. Тривиален алгоритъм, защо не решава задачата?
5. Алгоритъм за решаване на задачата
6. Особени случаи
7. Авторово решение
8. Тънкости в авторовото решение - алгоритмични и технически
9. Къде и какво може да се обърка?

Състезание на 14 март, събота, 10:00, 702-2 (Н. Киров): задачи, тестове и решения, класиране

12 март, четвъртък, 16:30, 702-2, водещ Н. Киров
Задача от Соня:
aliens от http://judge.openfmi.net:9080/spoj0/contests.pl?contest_id=122
Задача от Станислав:
Div 2 Medium от Topcoder SRM 651 - http://pastebin.com/ZPquzL3u
Задача на Валери:
voyage от http://judge.openfmi.net:9080/spoj0/contests.pl?contest_id=122
Задча от Марио:
https://www.hackerrank.com/challenges/sherlock-and-divisors
Задача от Владислав:
https://www.hackerrank.com/challenges/favourite-sequence


5 март 2015, четвъртък, 702-2, 16:30, Н. Киров
Задача от Валери; решение на задачата
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=757&page=show_problem&problem=1204
Задача от Соня; анализ и решение на задачата
http://codeforces.com/contest/514/problem/C
Задача от Станислав:
http://codeforces.com/contest/518/problem/D
Задача от Марио; обяснение и решение

http://acm.timus.ru/problem.aspx?space=1&num=1049
Задача от Самир:
http://codeforces.com/contest/519/problem/B

Всички решават задачите, а авторите трябва да имат готовност да обяснят с подробности алгоритъма за решаване на задачата, както и решението, което предлагат.

26.02.2015, четвъртък, 702-2
16:30 Николай Киров, Авторски решения на лесните задачи от състезанието
18:00 Велислав Николов, Обсъждане на трудните задачи от състезанието

19.02.2015, четвъртък, 702-2, 16:30 - Н. Киров
Теми за студентите:
Самир - Структури от данни
Валери - Геометрия
Соня - Низове и Suffix trees
Стани - Динамично програмиране
Влади - Графи
Марио - Математика, Теория на числата

Състезание 21.02, събота, 10:00, 702-2 - задачи, решения, резултати
Соня, Валери, Станислав
НБУ
2
Карина, Самир
НБУ
2
Владислив, Марио
НБУ
2
Петър Петков
-

Димитър, Кирил
НБУ
м
Здравко, Владимир, Цветомир
НБУ
1


График за пролетния семестър
+19.02, четвъртък
+21.02, събота - състезание
+26.02, четвъртък
5.03, четвъртък
12.03, четвъртък
14.03, събота - състезание
19.03, четвъртък
26.03, четвъртък
28.03, събота, състезание
2.04, четвъртък
4.04, събота, състезание
9.04, четвъртък
16.04, четвъртък
18.04, събота, състезание
23.04, четвъртък
25.04, събота, състезание
30.04, четвъртък
7.05, четвъртък
9.05 - Републиканска студентска олимпиада по програмиране - ЮЗУ, Благоевград
14.05, четвъртък
21.05, четвъртък
15.01.2015, четвъртък, 702-2, 18:00
Велислав Николов, Разбор на задачите от състезанието

Състезание по програмиране на 10.01, събота, 10:00-15:00, 702-2: задачи, тестове, резултати
Валери, Станислав, Соня
отбор
Карина Караабова, Владислав Атанасов, Самир Мурадов
отбор
Митко Николов
CSCB010
Мартин Стефанов

Здравко Донев, Владимир Петков, Цветомир Златев
отбор



8.01.2015, четвъртък, 702-2, 16:30 Красимир Манев, Приложения на DFS и BFS
18.12, четвъртък, 702-2, 16:30, К. Манев

На 14.12.2014, неделя, от 10:00 часа на spoj0 ( http://judge.openfmi.net:9080/spoj0/) ще се проведе Турнир за купата на декана на ФМИ. Всички можете и е желателно да участвате. Състезанието е индивидуално, но участниците "дистанционно" (от вкъщи или от зала 702-2) няма да участват в официалното класиране и може да участват и отборно.
За целта е запазена зала 702-2 от 9 до 16 часа.

11.12, четвъртък, 702-2, 16:30 Емил Келеведжиев, Динамично програмиране - III
4.12, четвъртък, 702-2, 16:30 Емил Келеведжиев, Динамично програмиране - II

Състезание (индивидуално!) за CSCB010 и студенти от 1-ви и 2-ри курс (лесни задачи) на 29.11, събота, 10:00-15:00, 702-2: задачи, тестове, класиране
Изпратете заявка за участие по мейла - nkirov<at>nbu.bg или заповядайте и без заявка !! 
1
Митко Николов
2
И
2
Карина Караабова
2
И
3
Марио Георгиев
2
ИТ
4
Самир Мурадов
2
ИТ
5
Александър Петров
2
ИТ
6
Владислав Атанасов
2
И
7
Ивайло Стоянов
1
И
8
Диана Иванова
1
И
9
Цветомир Златев
1


27.11, четвъртък, 702-2, 16:30, Емил Келеведжиев, Динамично програмиране - I

20.11, четвъртък, 702-2
16:30 - упражнение
18:00 - Велислав Николов: Стандартна библиотека шаблони (STL)

Състезание за отбори на НБУ и СУ (трудни задачи) на 22.11, събота, 10:00, 702-2: задачи, тестове и решения, разултати
Валери, Станистлав, Соня
НБУ
Митко, Кирил, Васил
НБУ
Марио, Владислав, Самир
НБУ


13.11 - Соня Милева, Валери Цолов, Разглеждане на задачите от състезанието
***
Състезание 9.11, неделя, 10:00-15:00, 702-2 - задачи, класиране, тестове и решения
Rank Name Solved Time     A         B         C         D         E         F         G         H         I         J         K         L     Total att/solv




1 team7 (Станислав, Валери, Соня - НБУ) 8 1345 0/-- 1/159 6/259 0/-- 3/80 0/-- 1/98 2/277 1/185 0/-- 1/130 1/17 16/8
2 team6 (Мария, Атанас, Пламен - СУ) 8 1393 0/-- 5/221 3/274 0/-- 2/53 0/-- 2/157 1/176 1/133 0/-- 1/229 1/10 16/8
3 team15 (Кирил, Васил - НБУ)
6 784 7/-- 3/196 0/-- 0/-- 1/42 0/-- 3/80 2/240 0/-- 0/-- 1/98 1/28 18/6
4 team3 (Георги, Даниел, Илиян - СУ)
6 1026 0/-- 2/211 3/-- 0/-- 4/139 3/-- 1/90 4/-- 2/120 0/-- 4/294 1/12 24/6
5 team2 (Ивайло Спасов - НБУ)
4 682 0/-- 0/-- 0/-- 0/-- 2/163 0/-- 2/199 0/-- 0/-- 0/-- 2/247 1/13 7/4
6 team4 (Самир, Карина - НБУ)
3 363 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 2/136 0/-- 0/-- 0/-- 1/173 2/14 5/3
7 team1 (Владислав, Марио - НБУ)
3 375 0/-- 0/-- 0/-- 0/-- 4/-- 0/-- 2/100 0/-- 0/-- 0/-- 2/214 1/21 9/3
8 team8 (Пламен, Стоян - СУ)
2 147 0/-- 0/-- 0/-- 2/-- 1/-- 0/-- 2/91 0/-- 0/-- 0/-- 0/-- 1/36 6/2
9 team5 (Енгин Джемил - НБУ)
1 107 0/-- 0/-- 0/-- 0/-- 2/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 1/107 3/1
10 team9 (Станислав Георгиев - НБУ)
0 0 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/-- 0/0
Rank Name Solved Time     A         B         C         D         E         F         G         H         I         J         K         L     Total att/solv

Submitted/1st Yes/Total Yes

7/--/0 11/159/4 12/259/2 2/--/0 19/42/5 3/--/0 15/80/8 9/176/3 4/120/3 0/--/0 12/98/7 10/10/9 104/41

Created by CSUS PC^2 9.2.4 20140920 build 2837
http://www.ecs.csus.edu/pc2/
Last updated Sun Nov 09 15:13:06 EET 201

Състезание по програмиране: моля, изпратете заявка за участие на nkirov<at>nbu.bg. Краен срок за заявките - 6.11, четвъртък! Участието е индивидуално или отборно.
Дали заявки за участие:

1
NBU1 (Станислав Иванов, Валери Цолов, Соня Милева)
НБУ
2
2
SU1 (Мария Митева, Атанас Атанасов, Пламен Димитров) СУ

3
SU2 (Георги Шопов, Даниел Тасков, Илиян Кафеджиев) СУ

4
SU3 (Пламен Димитров, Стоян Христов, Любомир Коев) СУ

5
NBU2 (Владислав Атанасов, Марио Георгиев)
НБУ
2
6
SU4 (Моника Петева, Таня) СУ

7
NBU3 (Самир Мурадов, Карина Караабова)
НБУ
2
8
NBU4 (Явор Кръстовски)
НБУ
2
9
NBU5 (Ивайло Спасов)
НБУ
2
10
NBU6 (Станислав Георгиев)
НБУ
2
11
NBU7 (Енгин Джемил)
НБУ

12
NBU8 (Кирил, Васил)
НБУ


***
6.11, 702-2
16:30 - упражнение - задачи
18:00 - Велислав Николов, Сортиране и двоично търсене


Тази събота 10:00-15:00 ще има състезание на Тимус - Ural FU Dandelion contest. Petrozavodsk training camp. Summer 2014

След това от 16:00-19:00 ще има хърватското ученическо състезание.

***

Welcome to the 2014-2015 season of the USA Computing Olympiad!


As in past years, the USACO is planning several on-line programming contests this season (we will be running four contests instead of the usual six in order to give our staff time for upgrades in our infrastructure and training systems).  The schedule is as follows:

Dec 12-15: First Contest
Jan 16-19: Second Contest
Feb 20-23: Third Contest
April 3-6: US Open (our championship contest)

Contests are free and open to all.  They are targeted specifically at pre-college students, although others may compete as observers, ranked separately.

Contests are available in three levels of difficulty: bronze (novice), silver (intermediate), and gold (advanced):

- Bronze-level problems are designed to be accessible to those with basic programming knowledge and minimal algorithmic training (e.g., sorting, exhaustive search).

- Silver problems involve "standard" algorithmic techniques (e.g., shortest paths, greedy algorithms).

- Gold problems are quite challenging, requiring clever combinations of sophisticated algorithmic ideas.

All new competitors start out in the bronze level, and earn promotion to higher levels by demonstrating excellent performance on a contest in their current level.  Contests are usually 3-5 consecutive hours in duration, which students can schedule any time during a 4-day contest window.  Students can submit programs in C, C++, Java, Pascal, or Python.  All contests are taken individually.

Our website (http://www.usaco.org) offers hundreds of hours of free on-line training materials for those seeking additional resources to help improve their algorithmic coding skills. For additional practice, you can also view contest problems and their solutions from the past few years, and try submitting your own solutions to see if they are judged as correct.

The very best students in the USA who excel in our contests will be invited to attend the USACO summer training camp in late May, where they will receive advanced instruction and the opportunity to compete for membership in the 4-person team representing the USA at the International Olympiad in Informatics (IOI), the most prestigious high-school computing contest at the international level.  Last summer, team USA turned in one of its best showings ever at IOI 2014 in Taipei, Taiwan, with four gold medals! IOI 2015 will be held in Almaty, Kazakhstan.

For additional information, please see our website: http://www.usaco.org
***

30.10, 702-2
16:30 - упражнение, задачи и тестове
18:00 - лекция: Велислав Николов. Итерация, двоично търсене
, Iteration_Prefix_sums.zip
Материали по лекцията - Търсене и итерация и Префиксен масив. За задачи за тренировка ползвайте задачите дадени в края на лекциите.
***
23.10, 702-2
16:30 - упражнение: задачи, тестове и решения
18:00 - Велислав Николов,
Вход и изход за състезателни задачи
***

Студентите питаха къде могат да решават задачи. Значи това са линкове, към състезания, повечето ученически, но не са за подценяване изобщо:
Тук има архив с много задачи в ACM стил:
Още полезни ресурси тук. Списък с предстоящите състезания, по месеци тук.
Само да припомня за състезанието тази събота - 25. Октомври, 2014 :: Ural School Programming Contest 2014, от 10:00 часа
***
От СУ ни канят да посещаваме техен курс по Състезателно програмиране. Който иска, може да отиде!
От: Ivaylo Strandzhev
Изпратено: 15 октомври 2014 г. 13:54
До: Valeri Tsolov
Тема: konspekt po SP
 
Ето това е нещо като конспект по СП:

1. Видове състезания и начин на оценяване в курса
2. Понятие за сложност, Вградени типове, stl контейнери и функции. Итератори. Побитови операции.
3. Графи - дефиниция, възможни представяния, обхождания (BFS & DFS), Минимално покриващо дърво - алгоритъм на Prim
4. disjoint Set Forest, алгоритъм на Kruskal за минимално покриващо дърво. Алгоритми на Dijkstra, Bellman-Ford и Floyd-Warshall
5. Прости числа - проверка дали число е просто, решето на ератостен. най-голям ощ делител, най-малко общо кратно. Извършване на деление по модул просто число. Разлагане на делители на число. Разлагане на всички числа до дадена граница
6. Сортирания - различни алгоритми. Търсения - двоично, interpolation search, hill climbing
7. Префиксен масив/матрица за бързо намиране на сума на даден подинтервал. Индексни дървета. Ranga minimum query(RMQ), Lowest common ancestor(LCA)
8. Динамично програмиране. Решаване на някои от класическите задачи
9. Динамично програмиране 2. Решаване на някои не толкова класически задачи. Задачи с вероятности
10. Геометрия. Изпъкнала обвивка
11. Стрингови алгоритми - knuth-morris-pratt(KMP) обясних и идеята за Aho-Korasick, rabin-karp. Trie, Patricia Tree(Radix tree).
12. Топологично сортиране. Силно свързани компоненти. 2 SAT.
13. Потоци. Алгоритъм на Форд Фулкерсон. Примери за задачи които се решават с потоци
14. Потоци 2. Алгоритъм на Dinitz(Dinic) още задачи с потоци. Bipartite Matching. Min cost max flow

За сега са минали първите две лекции. Лекциите са понеделник от 18:00 до 21:00 в зала 310 на ФМИ, а упражненията - сряда от 7 до 9 в компютърен кабинет 321.
Моля разпространи тази информация в НБУ.
Поздрави,
Иво
***
16.10, 18:00, 702-2 Кр. Манев, Сложност на алгоритми
***
9.10, 18:00, 702-2.
Н. Киров, В. Николов, Студентски състезания по програмиране
Кр. Манев, Състезания по програмиране и системи за автоматична проверка на задачи на състезания.
(присъствие - 22 студенти; за начинаещи е препоръчително да посещават CSCB010)

Школата 2013/2014

Създаден на 19 август 2014 г., последни промени на 21 май 2015 г. nkirov<at>nbu.bg github   math