Блог пользователя tourist

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

Всем привет!

Скоро состоится Codeforces Global Round 5, время начала: 16.10.2019 17:35 (Московское время).

Это пятый раунд из серии Codeforces Global Rounds, которая проводится при поддержке XTX Markets. В раундах могут участвовать все, рейтинг тоже будет пересчитан для всех.

Соревнование продлится 2 часа 30 минут, вас ожидает 8 задач, при этом одна из задач будет представлена в двух версиях.

Разбалловка: 500 — 750 — (750 + 750) — 2000 — 2500 — 3000 — 3750 — 4000

Призы в этом раунде:

  • 30 лучших участников получат футболки.
  • 20 футболок будут разыграны случайным образом среди участников с 31-го по 500-е место.

Призы в серии из 6 раундов в 2019 году:

  • За каждый раунд лучшим 100 участникам начисляются баллы согласно таблице.
  • Итоговый результат участника равны сумме баллов для четырех лучших выступлений этого участника.
  • Лучшие 20 участников по итоговым результатам получают толстовки и сертификаты с указанием места.

Задачи раунда разработаны мной, а вот список людей, которым нельзя принимать участие в этом раунде, потому что они знали задачи заранее:

KAN, Endagorion, arsijo, Rox, lperovskaya, Aleks5d, Learner99, MikeMirzayanov.

Так совпало, что это одновременно и те самые люди, которым я благодарен за то, что этот раунд такой, какой он есть.

Раунд будет идеально сбалансирован.

Присоединяйтесь!

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

  1. Radewoosh
  2. Petr
  3. 300iq
  4. ecnerwala
  5. RomaWhite

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

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

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

XIX Open Cup Grand Prix of Gomel takes place on Sunday, February 10, 2019, at 11:00 AM Petrozavodsk time.

The links to the contest:

You need an Open Cup login to participate.

The Division 1 contest also serves as the open qualifying contest for MosCode Festival 2019.

I'm the writer of all the problems. Let's discuss them here after the contest!

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

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

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

The rules for advancement to the onsite finals of TCO 2019 Algorithm have changed from those for TCO 2018:

http://tco19.topcoder.com/home/algorithm/algorithm-rules

This page claims there are "three (3) ways to advance to the Onsite Finals"!

The first way to advance is to take part in SRMs. There are four three-month Online Stages, during which every positive score in an SRM counts towards a global ranking. The best competitor in each Online Stage advances to the onsite finals directly, with the next 10 competitors advancing to Online Round 4 (which is the final qualification round).

The other two ways stay the same. The best 10 competitors (used to be 14 though) advance from Online Round 4, and the best 2 competitors advance from Online Wild Card Round.

The changes seem to be big enough -- and already relevant, since SRM 736 on August 15 (in two days from now) already counts towards Online Stage 1. However, apart from TCO 2019 website I've only seen this information in Topcoder weekly newsletters, and I believe many people have missed it.

What do you think?

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

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

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

XVIII Open Cup Grand Prix of Gomel takes place on Sunday, February 18, 2018, at 11:00 AM Petrozavodsk time.

The link to the contest. You need an Open Cup login to participate.

I'm the writer of all the problems. Let's discuss them here after the contest!

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

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

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

Hello!

Topcoder SRM 728 will be held tomorrow (January 25, 2018).

See what time it starts in your area.

I'm the writer. Everyone is welcome to participate!

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

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

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

What is better than setting one AtCoder Grand Contest? Setting two AtCoder Grand Contests, of course!

AtCoder Grand Contest 020 will be held on Sunday (time). The writer is tourist.

Contest Link

Contest Announcement

This is the first contest of 2018 counted towards AtCoder Race Ranking. If you get into top 30 in this contest, you will get GP30 scores.

The point values will be 300 — 500 — 700 — 1100 (500) — 1400 — 2100. Note that the contest duration is unusual (130 minutes).

Let's discuss problems after the contest.

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

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

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

Разбор задач Hello 2018 доступен на русском и английском языках. Приятного прочтения!

Возведение в степень по модулю
Новогодняя елка
Лимонад для вечеринки
Слишком простые задачи
Логическое выражение
Сильносвязный турнир
Степенная подстрока
Не превышай

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

Разбор задач Hello 2018
  • Проголосовать: нравится
  • +463
  • Проголосовать: не нравится

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

Hello 2018!

Если вы думаете, чем бы заняться в восьмой день 2018 года, обратите внимание! Первый раунд для обоих дивизионов в новом году начнётся уже 8 января в 17:35 по московскому времени (время в вашем часовом поясе).

Как новый год встретишь, так его и проведёшь, поэтому четыре важные составляющие Hello 2018 будут такими же, как у Good Bye 2017:

  • Два дивизиона вместе
  • 8 задач
  • 2 часа 30 минут
  • Рейтинговый

Однако будет и существенное отличие:

  • Другие задачи

Задачи этого раунда предложили и подготовили YakutovDmitriy, budalnik и я.

Спасибо также и всем, без кого этот раунд бы не состоялся здесь и сейчас: AlexFetisov, Golovanov399, KAN, MikeMirzayanov, PavelKunyavskiy, qwerty787788, VArtem, winger.

Удачи!

Стоимости задач: 500 — 750 — 1000 — 1250 — 1750 — 2250 — 3000 — 3500.

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

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

  1. Um_nik
  2. desert97
  3. yosupo
  4. dotorya
  5. zeliboba
  6. FizzyDavid
  7. Endagorion
  8. .o.
  9. SpyCheese
  10. Kostroma

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

Анонс Hello 2018
  • Проголосовать: нравится
  • +2848
  • Проголосовать: не нравится

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

AtCoder Grand Contest 019 will be held on Saturday (time). The writer is tourist.

Contest Link

Contest Announcement

The point values will be 300 — 500 — 900 — 1000 — 1700 (1200) — 2000 (1500). Note that the contest duration is unusual (150 minutes).

Let's discuss problems after the contest.

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

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

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

There's been much controversy lately about the late submission strategy not penalized by scoring systems of AtCoder and CS Academy. Most of the relevant discussion happened earlier at http://mirror.codeforces.com/blog/entry/53431 and http://mirror.codeforces.com/blog/entry/53449.

I have a lot of thoughts on the topic, so I've decided to share them in a separate blog post.

I really like the strategic part of programming competitions. Of course, problem solving is more important. But every contest consists of multiple problems, so there has to be a way of comparing participants which performed better at different problems. There's a huge variety of scoring rules, and I find it truly amusing.

The "submit after solving all problems" strategy looks widely attributed to me now, mostly due to Petr's remarks regarding my participation in AtCoder contests. In my opinion, it's wrong for multiple reasons.

A closer five-word description of my strategy is "implement after solving several problems". It's still quite inaccurate, though.

Here is my typical behavior during the last few contests:

  1. Read all the problems. Usually starting with the last one, but it's not important.
  2. While reading each problem, try to understand what it asks for, think about it for a minute.
  3. Start thinking about problems in random order, frequently jumping from one problem to another.
  4. Strive to make progress or look at a problem from a different perspective every time you get back to it. For easy problems, this usually means solving them from the first try, as there's little progress to be made.
  5. Look at the scoreboard to get a grasp of the amount of time people typically spend on each problem. This helps understand whether one should look for a simple solution.
  6. At some moment, I feel stuck in every problem I haven't solved yet (possibly an empty set). This usually happens during the first half of the contest. Implement solutions to solved problems in any comfortable order. Submit them. Here, there are two main options: submit a solution after implementing it, or do a batch submit after implementing all of them. I've tried both, and I think it doesn't matter too much. At least the latter option doesn't make me upset with WA in the process of implementing another solution, and also saves me from the urge of refreshing the submissions page for each problem separately :)
  7. Try to solve the rest of the problems, again jumping between problems if there's more than one, but spending more time on one problem in a row. Once a problem is solved, implement its solution and submit.

I feel like this strategy has only one major disadvantage. Time spent in the beginning on problems one doesn't eventually solve is counted towards the penalty, which doesn't happen when using the standard "solve -- implement -- submit -- move on to the next problem" working cycle. For example, this could've cost me several places during AtCoder Grand Contest 018 -- I spent more than 10 minutes thinking on E and F before deciding to implement A-D, so if I hadn't solved problem F, I would've taken place 10 instead of place 7 with the normal strategy. It would've been even worse if both E and F had turned out to be unsolvable (which happens sometimes too) -- place 5 instead of place 1 for me. So, there's a prerequisite which one might call a disadvantage too: it's important to estimate problem difficulty well and feel when it's time to move from thinking to implementing.

On the other hand, I see multiple advantages. The first and foremost advantage for me: I feel very comfortable with this kind of behavior. I know that for many people it's hard and non-profitable to switch between problems too often, as it takes time to change the context. But I'm used, if not say addicted, to switching between problems often, and it seems in this case I come up with new ideas faster and better. Maybe that's due to subconscious thinking happening in background, or just a fresh look at the problem helps, it's hard to say. Implementing several solutions in a row also turned out to be comfortable and effective enough for me, as unlikely as it may seem.

Another slight advantage is, as Petr mentioned, not giving information to other participants. Intentionally withholding submissions to prevent giving information does help sometimes. It's a rare thing, though. In most cases, if you want to optimize your own result, you want to submit when it feels like you should submit, not when the scoreboard tells that you may submit.

And a small advantage I also consider important is seeing the whole picture of the problemset this way. Like, when you come to an exam, you can either start working on the problems one by one until you run out of time, or consider all the stuff you need to do and start with the most important things. The latter option feels better to me, though it might be very subjective.

Finally, the most controversial point is the possibility to bail out of the contest if your performance is poor. I wouldn't call it an advantage of this strategy. I believe considering the option of leaving the contest without submitting is disadvantageous, as you spend time thinking whether you should submit, while other participants work on the problems at the same time. The only profit you might get is the possibility to save your rating, which is a way of comparing contestants over many rounds but doesn't influence anything except one's self-esteem. And leaving the contest doesn't boost your skill anyway, so this is a meaningless thing to do in the long run.

To the admins of AtCoder and CS Academy: I think there's no need to change the rules. In my opinion, the "loophole" of leaving the contest without submitting doesn't create any big troubles. Clicking on the "Read Problems" button making the round rated for oneself requires a higher level of commitment from contestants which sometimes they aren't ready to provide. There are people for whom the rating is more important than participating in the contest; let them be. We are not reaching any goals by requiring much commitment, we're just decreasing participation.

Have fun!

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

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

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

Разбор задач VK Cup 2017 Round 3 и Codeforces Round #412 доступен на русском и английском языках. Приятного прочтения!

Is it rated?
T-Shirt Hunt
Success Rate
Dynamic Problem Scoring
Prairie Partition
Perishable Roads
Blog Post Rating
Test Data Generation

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

Разбор задач VK Cup 2017 - Раунд 3
  • Проголосовать: нравится
  • +570
  • Проголосовать: не нравится

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

Всем привет!

Третий, он же последний отборочный, раунд VK Cup 2017 начнётся 7 мая в 18:35 по московскому времени (время в вашем часовом поясе). Параллельно с ним на тех же задачах состоится Codeforces Round #412 для обоих дивизионов. Все три раунда будут длиться три часа и будут рейтинговыми.

Соревнование "VK Cup 2017 — Раунд 3" предназначено для команд, квалифицировавшихся из Раунда 2 или Уайлд-кард раунда 2. Лучшие 20 команд пройдут в финал, который состоится в июле 2017 года в Санкт-Петербурге!

Большое спасибо KAN, qwerty787788, PavelKunyavskiy, AlexFetisov, MikeMirzayanov и компании ВКонтакте за то, что этот раунд стал возможен.

Главным героем большинства задач станет платформа Codeforces. Не забывайте, что читать условия всех задач бывает полезно.

Удачи!

Поскольку на дворе 2017 год, разбалловка, безусловно, будет статической. Точные стоимости задач будут объявлены перед раундом.

UPD 1. Стоимости задач:

Div. 1 и VK Cup Round 3: 500 — 1000 — 1750 — 2500 — 2750 — 3500

Div. 2: 500 — 1000 — 1500 — 2000 — 2750 — 3500

UPD 2. Из-за вчерашних проблем с регистрацией на контест начало раунда отложено на 10 минут.

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

VK Cup Round 3:

  1. zemen, Zlobober
  2. V--o_o--V, LHiC
  3. RomaWhite, witua
  4. YakutovDmitriy, budalnik
  5. Golovanov399, -imc-

Div. 1:

  1. Petr
  2. yosupo
  3. rng_58
  4. uwi
  5. Nezzar

Div. 2:

  1. ltaravilse
  2. btk15049
  3. RCG
  4. SUSTechDFS
  5. hieutrungle

UPD 4. Доступен разбор задач.

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

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

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

XVII Open Cup Stage 10: Grand Prix of Gomel takes place on Sunday, February 5, 2017, at 11:00 AM Petrozavodsk time.

The link to the contest. You need an Open Cup login to participate.

I'm the writer of all the problems.

This problemset will also be used at Barcelona ACM ICPC Bootcamp on Monday, February 6. Unfortunately, this means I have to ask you to refrain from discussing the problems in public until the end of the contest in Barcelona on Monday, 5:30 PM Barcelona time.

Let's discuss the problems here on Monday evening!

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

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

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

Topcoder Open 2016 Algorithm Final Round starts in 28 minutes.

The finalists are bmerry, Enot (aka enot110), Kankuro (aka vepifanov), krijgertje, Petr and rng_58.

Live broadcast will be available on Twitch.

Watch the action in the Topcoder Arena.

Also follow my live commentary on Twitter.

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

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

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

Всем привет!

Как многие из вас уже знают, сегодня в обоих дивизионах состоится Codeforces Round #127, пропускать который очень не рекомендуется ;)

Оригинальные задачи для вас придумывали и готовили tourist и Romka. Мы старались сделать упор на идейную составляющую задач, поэтому надеемся, что вам придётся думать дольше, чем набирать код. Отдельное спасибо за помощь в подготовке контеста координатору Codeforces Gerald. Также благодарим Delinur за перевод условий и Alex_KPR за вычитку условий.

Надеемся, что этот раунд будет для вас не просто очередным раундом на Codeforces, а принесёт вам новый опыт и новые знания. Авторам все задачи кажутся одинаково простыми, но мы всё-таки постарались расположить их в порядке убывания простоты :)

Разбалловка в первом дивизионе: 1000-1000-1500-2000-2500. Разбалловка во втором дивизионе: 500-1000-2000-2000-2500.

Успехов!

UPD: Соревнование закончено, всем спасибо за участие. Надеемся, вам понравилось :)

В первом дивизионе безоговорочную победу одержал rng_58, решив все пять задач за полтора часа! Решить все задачи за два часа больше не удалось никому.

Победители в первом дивизионе (полные результаты):

  1. rng_58

  2. peter50216

  3. liympanda

  4. White_Bear

  5. havaliza

Во втором дивизионе каждая задача была кем-то решена, но решить все задачи не удалось никому. Борьба оказалась очень упорной, а разрывы -- очень маленькими.

Победители во втором дивизионе (полные результаты):

  1. Leewings

  2. snow_lotus

  3. 72VanVector_SevNTU

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

UPD2: Опубликован разбор задач.

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

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

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

Всем привет!

Приглашаю вас поучаствовать в очередном коротком контесте на сайте CodeChef.com (http://www.codechef.com/COOK16). Начало запланировано на воскресенье, 20 ноября, на 20:00 по московскому времени (посмотреть время начала в других часовых поясах можно здесь). Автором задач на этот раз буду я, а тестировал контест Антон Лунёв (Anton_Lunyov). Антон внёс большой вклад в подготовку контеста, за что ему отдельное спасибо :)

Также информация для тех, кто не знаком с форматом соревнований на CodeChef. Длительность контеста -- 2,5 часа, проводиться он будет по традиционным правилам ACM. Состоит контест из пяти задач различного уровня сложности. Специальной регистрации на сам контест не требуется, достаточно лишь зарегистрироваться на сайте.

К сожалению, я не смогу наблюдать за ходом контеста -- в этот же день проводится ВКОШП. Тем не менее, Антон сможет ответить на все вопросы участников, если таковые будут.

Удачи! ;)

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

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

Автор tourist, 14 лет назад, По-русски
Обсуждение контеста

Задача A. Проблема Нольдбаха

В данной задаче нужно было уметь искать простые числа в диапазоне от 2 до N. При этом ограничения позволяли искать их любым способом - как решетом Эратосфена, так и перебором всех возможных делителей числа.
Возьмём каждую пару соседних простых чисел и проверим, является ли их сумма, увеличенная на 1, простым числом. Найдём количество таких пар, сравним с числом K и выведем ответ.

Задача B. Иерархия

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

Разбор задач Codeforces Beta Round 17
  • Проголосовать: нравится
  • +30
  • Проголосовать: не нравится