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

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

С 16 февраля по 13 апреля 2018 года пройдет VIII Международный открытый чемпионат БГУИР по спортивному программированию "BSUIR Open 2018" (г. Минск, Беларусь). К участию в Чемпионате приглашаются студенты и магистранты БГУИР, учащиеся общеобразовательных учреждений, студенты других вузов и стран.

Соревнование пройдет в несколько этапов:

  • первый отборочный тур (заочный четвертьфинал) — 16-19 февраля;
  • второй отборочный тур (очно-заочный полуфинал) — 21 февраля;
  • финал Чемпионата для студенческих команд (очный) — 14-16 марта;
  • финал Чемпионата для школьных команд (очный) — 11-13 апреля.

Первый отборочный тур обязательный только для команд БГУИР и школьников, но другие команды также могут принять участие. Второй отборочный тур обязателен для всех команд; Команды БГУИР и школьников г. Минска, прошедшие первый отборочный тур, участвуют в нем очно, остальные заочно.

Для участия в Чемпионате необходимо зарегистрировать команду из 3 участников до 20.02.2018 (включительно). Оргвзнос составляет всего ничего — ничего, участвуйте в свое удовольствие.

В финал проходят 42 команды, показавшие лучшие результаты во втором отборочном этапе, но не более:

  • 7 команд студентов и магистрантов БГУИР;
  • 2 команд от каждого вуза Республики Беларусь и стран ближнего и дальнего зарубежья.

В этом году для школьников будет проведен отдельный финал, где команды смогут на равных посоревноваться друг с другом.

Открытый чемпионат БГУИР по программированию проводится по правилам ACM-олимпиад. В финале соревнования участникам предлагается от 8 до 12 заданий, которые следует решить за 5 часов. Задачи сформулированы на английском языке.

Хорошие новости для иностранных команд, которые планируют прилететь на финал. Беларусь ввела безвизовый порядок въезда в страну на срок до 5 дней при въезде через Национальный аэропорт Минск для граждан 80 государств.

Более подробную информацию о Чемпионате, а также условия задач и результаты прошлых лет можно найти на портале acm.bsuir.by. Немножко Чемпионата БГУИР прошлых лет в тренировки: http://codeforces.net/blog/entry/49057.

И видео прошлого года, чтобы прочувствовать атмосферу:

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

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

The 8th BSUIR Open semi-final is already today and will start very soon.
The contest takes place at 17.00 at MSK. You will be given 5 hours to solve problems.
Join the contest here: https://official.contest.yandex.ru/bsuir2018/contest/7517/enter/.
Logins and passwords will be sent out soon.
Make sure that your team is on the list of semi-finalists: http://acm.bsuir.by/wps/wcm/connect/olymp/site/content/champ2018/semifinal/participant_teams.
If you have any questions, please contact support: [email protected]

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve problem K?

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    For every edge in the path, calculate the expected number of moves until you use that edge in that direction. The answer is the sum of these numbers. To calculate these numbers, it's just the expected number of times you pass through the vertex * expected number of moves until getting back to it + 1 or something like this. http://codeforces.net/problemset/problem/712/E it's similar to this problem. You can calculate the expected number to the up edges using one dfs and then the rest in another, then just use binary lifting to calculate the path. We just passed it like this but during the contest we had no time to code binary lifting :(

»
7 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

How to solve G and D?

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    D: 22(n - 1)(n + 1) due to some combinatorical reasons.

    • »
      »
      »
      7 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Can you explain the reasons or at least a idea about this formula ?

      • »
        »
        »
        »
        7 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        The number of edges is equal n*n-1 The number of subgraphs is equal K = 2^(n*n-1) The answer is K / 2 But we can’t approve that

      • »
        »
        »
        »
        7 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Proof for the problem D is very elegant and easy. Try to rotate the grid by 90 degrees. And you can see that there exists a bijection between the grids with and without the path.

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve B?

  • »
    »
    7 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

    My solution used precalc for all possible n with O(n^4) complexity.

    How to solve it for fixed n:

    Let's notice that we have got 209 single days and 52 groups with 3 days which all turn to Monday (Sat, Sun, Mon).

    Let's calculate dp[i] — probability that exactly i persons were born on this 209 single days (we can do it easily with O(n^2)).

    So, we have gotten this probabilities. Then we need to calculate the expected value for every i and we will have solved the problem.

    Let's fix i. Let's solve(a, b) — expected value for a days and b persons which were born all on those a days. So for every i we need to calculate solve(209, i) + solve(52, n-i) and multiply this with dp[i].

    We can calculate solve(a, b) with dp[i][j] — probability of the event where we have taken men so that on exactly i days several men were born, on exactly j days only 1 man was born. So we will recalculate this step by step, adding men. Answer eventually will be (sum i*dp[i][j]) for all (i, j). Total complexity of this dp is O(n^3), of solution O(n^4).

  • »
    »
    7 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +33 Проголосовать: не нравится

    There is simply solution from participants. ANS = 52 * p1 + 209 * p2

    p1, p2 — probability that there will be at least 2 people that were born in concrete 3 days / day, p1 for mondays and weekends, p2 about other days.


»
7 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

КУ

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

How to solve I?