Автор gKseni, 9 лет назад, По-английски

For the last 6 years the world titles have been won only by St Petersburg teams – ITMO and St. Petersburg State University – both universities will bring their top teams to 2nd Hello Barcelona Programming Bootcamp in collaboration with Moscow Workshops ACM ICPC

The event runs from Sept 27 to Oct 5 – but how to get the most out of the camp? "I think there is no universal solution for "get the most out of a camp" – everyone should find their own path, but the general guideline will be: communicate with other participants as much as you can, make sure you do upsolving (at least some), keep track of how much you sleep," said Gleb Evstropov, coach and coordinator of the programming committee.

Sleeping could be somewhat challenging with all the famous Russian teams coming, which includes ITMO, St. Petersburg State University, MIPT, Ural Federal University, Tomsk, Novosibirsk, Saratov, Samara and Perm, as well as the rest of the world’s top universities such as USA’s highest placing team, Central Florida, along with Canada’s Waterloo, high-scoring Asian teams from Hangzhou Dianzi and Singapore, and Tokyo University, as well as Stockholm’s KTH among dozens of others – so far teams from 30 countries have signed up.

The event’s Gold sponsor is Sberbank, the biggest commercial and investment bank of Eastern Europe and Russia, with over 170 years of history. Thanks to their support we expect that the top participants will be awarded valuable prizes, alongside high-profile internships and job opportunities.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +90
  • Проголосовать: не нравится

Автор MikeMirzayanov, 9 лет назад, По-русски

Больше контестов хороших и разных! Вдохновившись рассказами droptable об успехах проведения квалификационных этапов в Восточном четвертьфинале NEERC, в этом году и Южный (саратовский) четвертьфинал объявляет о проведении квалификационного этапа. В октябре состоится 20-й юбилейный четвертьфинал в Саратове. Надеемся, что проводя квалификацию, мы сумеем дать возможность большему количеству команд попробовать себя в соревнованиях по программированию.

Для широкой аудитории 17-го сентября будет проведено онлайн-зеркало на Codeforces. Приглашаются все!

В этом году (сезон 2017-2018) Четвертьфинал ICPC Южного подрегиона NEERC будет содержать дополнительный квалификационный этап. Дата проведения — 17 сентября 2017 г. До 11 сентября необходимо зарегистрировать команду на сайте https://icpc.sgu.ru.


Зарегистрироваться →
Для команд Южного подрегиона NEERC

Приглашаются команды студентов/магистрантов/аспирантов из Астраханской, Белгородской, Волгоградской, Воронежской, Курской, Липецкой, Нижегородской, Пензенской, Ростовской, Самарской, Саратовской, Тамбовской, Ульяновской областей, Краснодарского, Ставропольского краёв, республик Адыгея, Дагестан, Кабардино-Балкария, Калмыкия, Карачаево-Черкесия, Чечня, Марий Эл, Мордовия, Северная Осетия, Татарстан, Чувашия. Команды должны состоять из трёх студентов/магистрантов/аспирантов (ниже смотрите формальные требования), представляющих один вуз. Участие в квалификационном этапе бесплатное. Оргвзнос не предусмотрен.

Этап будет одновременно проведен на нескольких площадках в ряде городов Южного подрегиона NEERC. Продолжительность квалификационного этапа 4 часа, язык условий — русский. Будет доступен перевод условий на английский язык.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +76
  • Проголосовать: не нравится

Автор zeliboba, 9 лет назад, По-русски

Привет, Codeforces!

24 августа, в четверг, в 19:35 MSK состоится AIM Tech Codeforces Round 4.

Раунд подготовили сотрудники компании AIM Tech: malcolm, Kostroma, Edvard, yarrr, zemen, gchebanov, VadymKa, zloyplace35, ValenKof, riadwaw и zeliboba.

Раунд пройдет во время Петрозаводских сборов, спонсором которых является наша компания. 27го августа мы подарим 30 футболок лучшим участникам раунда, присутствующим на сборах.

Благодарим Михаила Мирзаянова (MikeMirzayanov) за замечательные платформы Polygon и Codeforces, и координатора задач Codeforces Николая Калинина (KAN) за помощь в подготовке раунда. Огромное спасибо qwerty787788, Zlobober, ifsmirnov и AlexFetisov за ценные замечания и прорешивание раунда!

Наша компания занимается алгоритмической торговлей на бирже, ключевыми понятиями для нас являются big data, low latency и high frequency trading. Умение писать эффективный C++ код, алгоритмическое мышление и математическая интуиция очень полезны в нашей работе, поэтому большая часть наших сотрудников — олимпиадники по программированию и математике. В свободное от работы время мы участвуем в разных соревнованиях по программированию и не только, испытываем себя на прочность в походах и покоряем горные вершины.

Узнать о нас больше можно на сайте aimtech.com, в facebook и instagram. Можно отправить нам резюме через эту форму, даже если вы не участвуете в раунде.

В каждом из дивизионов участникам будет предложено пять задач и 2.5 часа на их решение.

Обратите внимание, что задачи C-D-E в первом дивизионе отличаются по сложности меньше, чем обычно, поэтому рекомендуем прочитать их все.

Pазбалловка во втором дивизионе 500-1000-1500-2000-3000, в первом дивизионе 500-1000-1750-2250-2250.

Всем удачи и высокого рейтинга!

Поздравляем победителей!

Div. 1:

yosupo

SpyCheese

DEGwer

W4yneb0t

Um_nik

Div. 2:

epicure

bazsi700

Shavkat_Aminov

Tian.Xie

madn

Strikeskids

Полный текст и комментарии »

  • Проголосовать: нравится
  • +305
  • Проголосовать: не нравится

Автор awoo, история, 9 лет назад, перевод, По-русски

Привет, Codeforces!

21 августа в 18:05 по Москве начнётся Educational Codeforces Round 27.

Продолжается серия образовательных раундов в рамках инициативы Harbour.Space University! Подробности о сотрудничестве Harbour.Space University и Codeforces можно прочитать в посте.

Раунд будет нерейтинговый. Соревнование будет проводиться по немного расширенным правилам ACM ICPC. После окончания раунда будет период времени длительностью в один день, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.

Вам будет предложено 7 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.

Задачи вместе со мной придумывали и готовили Иван BledDest Андросов, Владимир vovuh Петров и Михаил MikeMirzayanov Мирзаянов.

Удачи в раунде! Успешных решений!

У Harbour.Space есть для вас небольшая речь:

We are delighted to welcome the 2017 ACM-ICPC World Champions, ITMO, to our 2nd Hello Barcelona Programming Bootcamp in collaboration with Moscow Workshops ACM ICPC starting September 27.

All the top Russian teams are coming, including St. Petersburg State University, MIPT, Ural Federal University, Tomsk, Novosibirsk, Saratov and Perm, as well as the world’s top universities such as Waterloo, Central Florida, Hangzhou Dianzi, Singapore, KTH and dozens of others — so far teams from 30 countries have signed up.

The event’s gold sponsor is Sberbank, the biggest commercial and investment bank of Eastern Europe and Russia. Thanks to their support we expect that the top participants will be awarded valuable prizes, alongside high-profile internship and job opportunities.

We can’t wait to see all of you coming to learn, practice and compete on the international stage, smoothing your road towards April World Finals in Beijing.

Ps. Registrations close on September 1.

UPD: Разбор доступен по ссылке

Поздравляем победителей:

Rank Competitor Problems Solved Penalty
1 uwi 7 288
2 quailty 7 314
3 Andrei1998 7 318
4 rajat1603 7 374
5 fatego 7 374

Поздравляем лучших взломщиков:

Rank Competitor Hack Count
1 uwi 455:-11
2 halyavin 305:-4
3 STommydx 103:-2
4 Lhtie 48:-2
5 step_by_step 44:-28

Было сделано 1326 успешных и 300 неудачных взломов.

И, наконец, поздравляем людей, отправивших первое полное решение по задаче:

Problem Competitor Penalty
A ksun48 0:01
B ygmngm817 0:03
C markysha 0:03
D EKGMA 0:10
E halyavin 0:37
F eddy1021 0:34
G const_int_magic 0:08

Полный текст и комментарии »

  • Проголосовать: нравится
  • +124
  • Проголосовать: не нравится

Автор MiptLited, 9 лет назад, По-русски

Всем привет!

Мы рады сообщить вам о том, что с 7 по 16 ноября 2017 года пройдут тренировочные сборы Moscow International Workshop ACM ICPC. Это отличная возможность для ребят, которые не только хотят серьезно подготовиться к следующему сезону ACM ICPC 2017/18, но также попутешествовать и пообщаться с талантливыми программистами со всего мира. Весной в Долгопрудный приехали 28 иностранных команд, и мы надеемся побить этот рекорд осенью! :)

Сборы проводятся в Долгопрудном на базе кампуса МФТИ при поддержке Университета ИТМО, СПбГУ и МГУ.

Программу готовят Михаил Тихомиров Endagorion, Глеб Евстропов GlebsHP и, конечно же, наш бессменный Олег Snark Христенко, главный редактор Snarknews и сооснователь Open Cup.

У нас есть хорошая новость для тех, кто не может надолго пропускать учебные занятия в университете: можно выбрать сокращенную программу с 9 по 16 ноября. А еще мы готовим пару нововведении, но о них сообщим чуть позже.

Подробнее о сборах и о стоимости участия можно прочитать здесь! Имейте в виду, что регистрация обязательна, и анкету нужно заполнить до 1-го ноября!

На сегодняшний день у вас есть месяц для того, чтобы попасть на сборы по сниженной стоимости: оплата до 16 сентября составит 27.000 рублей для граждан стран Евразийского Экономического Союза (ЕАЭС) и $550 для остальных участников. Эта цена включает в себя учебную программу, проживание и питание в кампусе МФТИ, а также спорт и развлечения.

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

А пока вы думаете, ехать или нет, вы можете посмотреть фотографии или видео с весенних сборов в Долгопрудном:

Полный текст и комментарии »

  • Проголосовать: нравится
  • +141
  • Проголосовать: не нравится

Автор Mediocrity, история, 9 лет назад, По-русски

Всем привет!

Приглашаю вас принять участие в Codeforces Round #429, который начнётся 18 августа в 18:05 по московскому времени.

Задачи для вас готовили Фёдор Mediocrity Коробейников, и Владислав totsamyzed Мосько. Большое спасибо Алексею netman Вистяжу за помощь в подготовке раунда, Александру AlexFetisov Фетисову и Владиславу winger Исенбаеву за тестирование задач, Михаилу MikeMirzayanov Мирзаянову за системы Codeforces и Polygon.

Участникам обоих дивизионов будет предложено по пять задач и 2 часа на их решение. Разбалловка будет объявлена ближе к началу раунда.

Надеемся, раунд вам понравится! Всем удачи!

UPD: Разбалловка: 500 — 1000 — 1500 — 2000 — 2500. Обратите внимание, что количество задач изменилось с 6 до 5.. А также большое спасибо Алексею Um_nik Данилюку за тестирование задач.

UPD: Раунд завершён. Просим прощения за все произошедшие неудобства. Поздравляем победителей:

Div1:

  1. anta

  2. LHiC

  3. Radewoosh

  4. dreamoon_love_AA

  5. ikatanic

Div2:

  1. emengdeath2020

  2. Svlad_Cjelli

  3. denis2111

  4. Ehsan22

  5. zjt_ioi_2019_ak

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +253
  • Проголосовать: не нравится

Автор TeaPot, история, 9 лет назад, По-английски

I always was dreaming that one day competitive programming will become a real sport, not just activity for a small group of participants. Why? Because I don't really like working and my tries to do some science were totally unsuccessful. It would be cool to live just by doing what you like. Very childish, I know.

But this blog is not about if competitive programming is important or are there any ways to make it interesting to watch to wider audience. I am just trying to understand, is it currently moving toward real sport or away from it? And I get some mixed signals about that:

Bad signals:

  • Big onsites (like GCJ or TCO) seem to cut the number of participants and the amount of prizes.

  • Some onsite-finals are turning to online-finals. For example, several years ago we had Russian Code Cup onsite in Russia, currently RCC Finals is online.

  • Some big companies are turning away from sport programming (IBM is stopping sponsorship of ACM ICPC).

Good signals:

  • Some new finals were created during last years. For example, VK Cup in Russia, SnackDown in India or Code Festival in Japan (for students).

  • Some small firms are holding rounds and even created their own little onsite finals.

  • Sports programming (not in the financial part) seems to thrive. For instance, there are new platforms for training that were created just in the last year: like atcoder (for international participants) or csacademy.

So, what future will you predict for a competitive programming? Will it become a real sport? Or will it forever be just for fun and for students to get to the interview in a big company?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +669
  • Проголосовать: не нравится

Автор bicsi, история, 9 лет назад, По-английски

This article will be presenting a rather classical problem that can be solved using deques, along with an extension that allows you to solve the problem in its more general multi-dimensional case. I have decided to write this article after this discussion on 2D range-minimum query.

The article will be mainly based on this following problem:

You are given an array of numbers A[] of size n and a number k ≤ n. Find the minimum value for each continuous subarray of size k.

We will be now focusing on the linear-time solution to this problem.

Solution:

Consider sweeping from left to right through the array. At every moment we keep a list of "candidates" for minimum values throughout the process. That means that at each moment, you have to add one element to the list and (potentially) remove one element from the list.

The key observation is that, during the sweep line process, we find two values A[i] and A[j] which have i < j and A[i] ≥ A[j], then we can safely discard A[i]. That is because, intuitively, A[j] will continue to "live" in our sweep line more than A[i], and we will never prefer A[i] instead of A[j].

We should now consider pruning all the "useless" values ("useless" as in the statement above). It is easy to see now that doing this will lead to a strictly increasing list of candidates (why?). In this case, the minimum will always be the first element (O(1) query).

In order to insert an element to the back of the pruned candidate list, we will do a stack-like approach of removing all elements that are greater than it, and to erase on element, we just pop the front of the list (if it is not already removed).

This is a well-known approach for finding minima over fixed-size continuous subarrays. I will now present an extensions that allows you to do the same trick in matrices and even multi-dimensional arrays.

The multi-dimensional extension

Problem (2D):

You are given an matrix of numbers A[][] of size n × m and two numbers k ≤ n, l ≤ m. Find the minimum value for each continuous submatrix of size k × l.

Solution:

Consider the matrix as a list of rows. For each row vector of A, use the 1D algorithm to compute the minimum value over all l-length subarrays, and store them in ColMin[][] (obviously, ColMin[][] is now a n × (m - l + 1)-sized matrix).

Now, consider the new matrix as a list of columns. For each column vector of ColMin, use the algorithm to compute the minimum value over all k-length subarrays, and store them in Ans[][] (of size (n - k + 1) × (m - l + 1)).

The Ans[][] is the solution to our problem.

The following picture shows the intutition behind how it works for computing Ans[1][1] for n = 5, m = 7, k = 3, l = 4

The pseudocode is as follows:

def solve_2d(M, k, l):
  column_minima = {} # empty list
  for each row in M.rows:
    # We suppose we have the algorithm that solves
    # the 1D problem
    min_row = solve_1d(row, l)
    column_minima.append_row(min_row)
  
  ans = {}
  for each col in column_minima.cols:
    min_col = solve_1d(col, k)
    ans.append_col(min_col)
  
  return ans

Note that the pseudocode is (deliberately) hiding some extra complexity of extracting rows / columns and adapting the 1D algorithm to the 2D problem, in order to make the understanding of the solution clearer.

The total complexity of the algorithm can be easily deduced to be O(n * m)

Multi-dimensional case analysis

The solution can be extended to an arbitrary order of dimensions. For a d-dimensional matrix of size s1, s2, ..., sd, the time-complexity of the problem is O(d * s1 * ... * sd), and the memory complexity is O(s1 * ... * sd). This is much better than other algorithms that do the same thing on non-fixed size submatrices (e.g. multi-dimensional RMQ has O(s1 * ... * sd * log(s1) * ... * log(sd)) time and memory complexity).

Finding the best k minima

The deque approach itself is limited in the sense that it allows you to find only the minimum value over the ranges. But what happens if you want to calculate more that one minimum? We will discuss an approach that I used during a national ACM-style contest where we were able to calculate the best 2 minima, and then argue that you can extend to an arbitrary number of minimum values.

In order to store the lowest 2 values, we will do the following:

Keep 2 deques, namely D1 and D2. Do a similar algorithm of "stack-like popping" on D1 when you add a new element, but instead of discarding elements from D1 when popping, transfer them down to D2 and "stack-like pop" it.

It is easy to see why the lowest 2 elements will always be in one of the two deques. Moreover, there are only 2 cases for the lowest two elements: they are either the first two elements of D1, or the first elements of D1 and D2 subsequently. Checking the case should be an easy thing to do.

The extension to an arbitrary number of minima is, however, not so great, in the sense that the complexity of this approach becomes O(n * k2) for a n-sized array, currently bottlenecked by the number of elements you have to consider in order to find the first k minima. [Maybe you can come up with a cleverer way of doing that?]

Useful links

This is the problem I referred to above: http://www.infoarena.ro/problema/smax. I recommend trying to think it through and implementing it, and translating the statement via Google Translate or equivalent.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +349
  • Проголосовать: не нравится

Автор smahdavi4, 9 лет назад, По-английски

Hi everybody!

On Saturday, August 12, 2017, at 14:35 UTC Codeforces Round #428 will be held. As usual, Div.1 participants can join out of competition.

The problems are prepared by me(Sadegh Mahdavi) and NikaraBika(Majid GarooC). Great thanks to Arpa(AmirReza PoorAkhavan) and Livace(Alexey Ilyukhov) for testing the round, KAN(Nikolay Kalinin) for helping us preparing the round and MikeMirzayanov(Mike Mirzayanov) for the Codeforces and Polygon systems.

There will be 5 problems and 2 hours to solve. The scoring will be published later.

The main characters of this round are chosen from the game of thrones series :D

UPD : The scoring is : 500 — 1000 — 1500 — 2000 — 2500

UPD: The judges solutions for problem B incorrectly handled some case, so we are going to rejudge some of the hacks. The pretests are not affected, so the contest is going to be rated.

UPD : The round is finished. Congratulations to winners:

Div 2:

1.mama_budra

2.fatego

3.regmsif

4.Lyra

5.Illyasviel

Div 1:

1.dotorya

2.kmjp

3.I_love_Tanya_Romanova

4.Benq

5.Claris

UPD Editorial

Полный текст и комментарии »

  • Проголосовать: нравится
  • +220
  • Проголосовать: не нравится

Автор Lewin, история, 9 лет назад, По-английски

On Sunday, August 6th, 22:00 IST, we will hold the 2nd elimination for IndiaHacks (some more details here). The top 900 individuals who qualified through previous rounds will have the opportunity to participate in this round. The top 25 global participants and top 25 Indian participants will advance to the final round. The link to the contest is here.

After the official round is over, the next morning, on Monday, August 7th, 11:35 IST, we'll hold an unofficial unrated mirror here on Codeforces. This mirror will have ICPC rules. For participants of the official round, please hold off on discussing the problems publicly until after this mirror is over.

I was the author of the problems in this set, and I hope you will enjoy the problems. I would like to thank zemen for testing the set, Arpa for writing editorials, r3gz3n for his help on the HackerEarth side, KAN for helping us set up the mirror contest, and of course MikeMirzayanov for the great Polygon/Codeforces platform.

The round will consist of 6 problems and you will have 3 hours to complete them. Please note that the problems will be randomly arranged in both rounds, since I couldn't figure out how to sort them by difficulty. Be sure to read all the problems.

UPD1: Updated time of official round and posted link to contest.

UPD2: We should have updated the leaderboard to accept solutions that followed the first version of the first problem. We have also increased the number of finalists to 60 total (30 global + 30 indian) based on this new leaderboard.

UPD3: Here is the list of qualifiers. Congratulations to everyone.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +135
  • Проголосовать: не нравится