Всем привет!
На днях состоится Открытая олимпиады школьников по программированию. Олимпиаду подготовила Московская методическая комиссия, известная вам также по Московской олимпиаде школьников по программированию, Московской командной олимпиаде и олимпиаде Мегаполисов (раунды 327, 342, 345, 376, 401, 433, 441, 466, 469, 507, 516, 541, 545, 567, 583, 594, 622, 626, 657, 680, 704, 707, 727, 751, 775, 802, 829, 852).
Открытая олимпиада составляется из самых интересных и сложных задач, которые были предложены многочисленным коллективом наших авторов, поэтому мы решили провести нерейтинговое зеркало олимпиады на Codeforces. Олимпиада проходит в два тура, каждый из которых состоит из $$$4$$$-х задач, неупорядоченных по сложности, и $$$5$$$ часов на их решение. Сложность задач сопоставима с уровнем Div. 1. За каждую задачу можно получить до $$$100$$$ баллов, которые распределены по нескольким подзадачам с различными ограничениями, что позволяет участникам получить частичные баллы. Оценивание происходит по формату IOI, где участник получает полный отчёт по тестированию по всем тестам Online-подгрупп во время соревнования. Особенностью открытой олимпиады является то, что в некоторых задачах присутствуют Offline-подгруппы, результат по которым будет доступен только после конца соревнования. Обратите внимание, что во время соревнования вам не будет доступна таблица результатов.
Зеркало на Codeforces состоится в Mar/08/2024 12:05 (Moscow time) и Mar/09/2024 12:05 (Moscow time).
Задачи соревнования были придуманы и подготовлены Mangooste, vaaven, Tikhon228, ViktorSM, isaf27, TheEvilBird, sevlll777, Papaz239 и pakhomovee под руководством Ormlis, grphil и Андреевой Елены Владимировны.
Отдельное спасибо MikeMirzayanov за системы codeforces и polygon, который использовался при подготовке задач этой олимпиады.
Большое спасибо тестерам олимпиады: dshindov, FelixDzerzhinsky, Adikolon, isaf27, adepteXiao, talant, AgafonovArtem, Dart-Xeyter, inhabitant, Kapt, Siberian, alexashkins, alexxela12345, Sweezy, v0s7er, MOHOXPOM, Titoffifee.
Всем удачи!
UPD1: Решения были протестированы на offline-группах. Также доступна таблица результатов для первого дня.
UPD2: Решения были протестированы на offline-группах. Также доступна таблица результатов для второго дня.
Will there be an editorial after the contest?
Yup!
Will there be a live scoreboard?
[Deleted]
no
[Deleted]
.
omg IOI rules official round
It's not an official round, it's an unrated mirror of an onsite contest that has nothing to do with CodeForces.
you are right
We can't see the standings during the contest?
GL & HF for you all guys!
DP_PD :}
please upvote this comment, thanks.
Goodluck everybody. Hope you're doing well.
After the contest, solutions and statements will be available in this site: https://inf-open.ru/?lang=en
And you can also see the Qualification stage of Open Olympiad 2023-2024 in that site.
If you want to upsolve problem for Qualification round go here: https://codeforces.me/gym/104922
And for editorial visit this link: https://inf-open.ru/2023-24/zaoch-materials/
I think solutions are missing in the first link you provided.
Hello sir. The site will be updated and the solutions will be available.
Although i could only solve one problem,i had a wonderful time.
It was a good contest, so could you open standings?
How to solve D? I have a naive solution O(N^2*W) solution , which will fail eventually.
How to solve D? I have a naive O(N^2*W) solution , which will fail eventually.
Noticed that for each state that the current player choosing switches, the number of minutes he is falling behind always satisfies $$$t\le a_{r+1}$$$. So you can optimize the number of states to $$$O(n\cdot \sum w)$$$.
Will you please elaborate? How is number of states optimized to O(n⋅∑w) ?
I had the same observation but my code was failing miserably so I set the upper bound to be $$$t \leq 2*a_r$$$ which was enough to pass only up to subtask 5 :((((
me too
So inspiring!
I now get this. Earlier I don't know why I was feeling even with this restriction it shall be O(N^2*W). if we define dp[i][j][w] , then for fixed j , there will be j values of i. so it will take sum(j*w[j+1]) , which is less than O(N * W)
I need editorial for problem D :(, I really liked the problem but I only came up with a $$$O(n^2W)$$$ solution and I got 56 pts.
can you explain your idea? I got 22 only in D.
Basically let $$$k$$$ be the time Alice has, if $$$k \geq 0$$$ then it's Alice's turn, otherwise it's Bob's turn, and let $$$f(l, r, k)$$$ the maximum value of Alice's score using the interval $$$[l, r]$$$ with time $$$k$$$, then:
So, Alice's final score is $$$f(0, n - 1, 0)$$$.
thx
A is an enjoyable problem :)
btw when will the standings be public
Can anyone explain why this solution for D gives WA on group 2 test 12?
Can anybody explain the solution of problem D? I thought if they play optimally then the minimum difference of their sum will be the answer. So following this I used dynamic programming on O(n*W) but it is showing wrong answer from group 3 to 5
Your greedy is incorrect, you just need to do smth like dfs on states. It is $$$O(n^2W)$$$ but can be optimized to $$$O(nW)$$$
how can I optimize from $$$O(n^2W)$$$ to $$$O(nW)$$$? currently my states are $$$[l,r,t,num]$$$ means that the remain subarray is $$$[l,r]$$$, $$$t=0/1$$$ shows the current player and $$$num$$$ is the remaining sum from player $$$t$$$.
HOW TO SOLVE THAT TREE PROBLEM B? ANY HINTS PLEASE....
Iterate through the leaves first.
Can someone suggest a case for this? link
Second test group fails, but the worst case i could make runs locally in 0.6 seconds.
Link not opening..
mostly it's because you have no access to other's solutions. Maybe you need to be manager of contest, or possibly wait some time. Some old contests allow you to look into other's solutions. However, this contest is unique, because it's not Codeforces round.
For C Time Limit is very tight. I did some simple optimizations like int instead of long long(wherever you can use) and unordered_map instead of map and by avoiding modulo operations it got accepted
how to solve C?
Can someone share their full AC code for D? Is your complexity better than $$$ O(n*W) $$$.
$$$\mathcal{O}(nW)$$$ can pass this problem.
Can you please share your code, my code despite being $$$ O(n*W) $$$ gives TLE on 47 :(
https://www.luogu.com.cn/paste/3m4r4rlg
how to solve day2 C?
you can use sqrt descompose, this can pass in 3s
how to solve $$$d<\sqrt n$$$?
how many log factors you got in your approach
For each element, let's find the last value it can reach in 1 move; let's call this $$$nxt_i$$$.
A correct greedy solution for answering the queries would be, at each step, to find the greatest value on the interval $$$[u, nxt_u]$$$ that isn't bigger than $$$a_v$$$ and jump to it.
To do this efficiently, we will use square root decomposition. At each step, we will solve all queries with $$$a_v$$$ in the range $$$[k \cdot \sqrt{n}, (k+1) \cdot \sqrt{n}]$$$ for some $$$k$$$. For each element, let's compute the fastest way we can reach any value in this range and store where we will land 1 move before.
Now, for each query, at each step, we will jump 1 step before a value in a range and decide whether we want to move to it or jump further. We will repeat this process $$$O(\sqrt{n})$$$ times for each query.
Also, your solution is easy to remake to D&C. And get $$$O(n \cdot log^2 n)$$$
Wth that's so based
Wouldn't calculating fastest way to reach any value in range itself be $$$O(nlog(n))$$$
When you move to the next bucket, the values can change to only $$$\sqrt{n}$$$ different values. So, you can calculate RMQ in $$$O(\sqrt{n}^2)$$$ and then just look based on the first to the right from $$$i$$$ and the first to the left from $$$nxt_i$$$.
Although I actually had to squeeze a monotonic queue and binary search for it to pass.
D is too short code this is my code : https://ideone.com/HwO0wc
May someone help me with C question Day 1. With my solution I was able to get only 14 points by passing group1 testcases and on rest testcases some are passing some are giving WR and time limit exceed. Also I can't think of an idea to make it fast. Here is my Code:
Try using array of size n instead of k*n.. and fetch the value using index%n
B is Dp ?
Will we have a merged scoreboard?
Top 5 of both days:
orz dXqwq
the scoreboard of day2 is not fully rejudged, please fix this sir Ormlis
edit: fixed
How to solve B day2 ?
Will there be official scoreboard and editorials in the near future?
In the near future, the Olympiad results will appear on https://inf-open.ru . There is a link to the mirror results in the post. We will try to publish the editorial in English in a few days.
is there any editorial!?
Is it published, few weeks have passed.
It's here!
is there any editorial? Ormlis