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

Автор pskobx, 17 месяцев назад, По-русски

Привет! В 05.12.2024 17:35 (Московское время) начнётся Codeforces Round 991 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов, после её завершения все успешные попытки будут перетестированы на успешных взломах. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу)
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Задачи были придуманы и подготовлены частью команды Интернет-олимпиад по информатике:
AVdovin, DanGolov, kbats183, Vladosiya и pskobx.

Также большое спасибо:

  1. MikeMirzayanov за системы Polygon и Codeforces.

  2. Vladosiya за координацию раунда.

  3. EgorUlin, qsmcgogo, molney, misorin, vladmart, Blinov_Artemii за жёлтое тестирование раунда.

  4. snasibov05, FBI за фиолетовое тестирование раунда.

  5. artcosec, Pslnd, _icy_, Gabbasov, UniversalAdmin за синее тестирование раунда.

  6. dmit_brit, WahidmShafin, Osama.Rafat100 за бирюзовое тестирование раунда.

  7. Kaushal_26 за зелёное тестирование раунда.

Всем удачи!

UPD: Разбор опубликован.

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

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

yay! Vladosiya round

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -42 Проголосовать: не нравится

first comment :D

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

As an author, I want to admit, that I am an e-girl...

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Tread on me plz!!! (♡▽♡)

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -24 Проголосовать: не нравится

Tread on me plz!!!(♡▽♡)

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Как оценивали раунд?!

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Capture

non-Notorious Coincidence

»
17 месяцев назад, скрыть # |
Rev. 3  
Проголосовать: нравится +14 Проголосовать: не нравится

If I don't become specialist after this round, I'll quit CP.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

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

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hoping that there are no interactives in this one

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why are there so many yellows testing the round lmao

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

As a green tester, problems are exciting. I recommend participating, and wish you good luck and have fun.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

xD

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

xD

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

is it possible to get high rating without an anime PFP?

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

I think that I can also participate officially :) I am an Expert with a 1600 rating now.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

in div3 the number of problems u solve and how quickly u solve them matters? not which problem A or G u solved ? right ?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hopefully I can reach Expert after this round. Good luck for me and for everyone.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

is it rated for newbies?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hopefully I can reach Specialist after this round. Good luck for me and for everyone.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится

StringForces

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится -37 Проголосовать: не нравится

This contest reminds me of the awoo comment about problems from which you learn nothing. I don’t know what I’ll learn from C and D.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Why in the world are problems B and C, B and C?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Problem C is a good Problem. I've learned something from it.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

I almost jumped to reroot dp for G.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

I was close to AK this contest and it would be my first ever AKed contest, but I couldn't solve $$$F$$$ 😢

can anyone explain how to solve $$$F$$$ ?, thanks in advance ^_^

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Thank you very much for the round. Good problems. Will not be reaching Specialist I guess, that's the only sad part.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

how to do D

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

problem b and c felt really weird

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

interesting tasks, thx

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

i think A and B were cool and appropriate for their positions, C was a bit too easy if you were able to get the solution quickly, and probably impossible otherwise. D was weird, but it has the same problem as C i think. E was a very educational dp for div3, and as someone who struggles with dp, i found it very fun. i dont think segment tree/sparse table should be included for div 3 contests(althought i might just be salty because i couldnt ak the contest because of those), so i think F was a bit misplaced. and G was amazing, and it was a ton of fun to solve. great contest overall, and i found it very fun to participate. :D

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

My intuition for C is based on the divisibility rule of 9 ( if the sum of digits of the number is divisible by 9, then the number itself is divisible by 9). So If that is the case initially, we don't need to do any thing. Otherwise, we can only convert all 2s in the original number to 4 (+2 to the total sum) or convert all 3s in the original number to 9 (+6 to the total sum) or convert some of the 2s and some of the 3s and each time check if the resulting sum is divisible by 9.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Damnnn it was too easy...

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

is it a string round?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I honestly did not enjoy the earlier problems being so implementation heavy. I had much more trouble doing A-E rather than F,G.

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

I do not know how I solved b. I guessed my way to AC. Can anyone please explain why this works? This is my submission 295089033.

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

    you can not transfer any amount between indices of opposite parity
    you can transfer any amount between any indices of same parity
    use above two facts to figure out solution.

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

      I am sorry I don't understand what you mean. Can you explain in a bit more detail please?

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

        assume there is a queue of alternating men and women
        a men can give money as well as take the money from any other men
        same goes for women
        let $$$M$$$ be the total money men's have and $$$W$$$ be the total money women's have
        so if average money for men ($$$\frac{M}{no \ of \ men}$$$) and women ($$$\frac{W}{no \ of \ women}$$$) is equal then answer is yes

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can someone find the mistake in my below code for G?

https://mirror.codeforces.com/contest/2050/submission/295071112

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +20 Проголосовать: не нравится

Perfect div3 doesn't exi.. Nevermind

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I think this is a speedforces. ABCDE — normal, but F is very easy on his place. I think, F maybe to move on D-place or E-place. G — cute task, but i cannot to debug my code....

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

problems were very satisfying to solve. Great div3 despite being bit tougher than avg div3.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I have a question who soled B. Did u guys seen this kind of problem before and that helped OR u came up with the solution in the contest?

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +11 Проголосовать: не нравится

    Usually in these types of "applying operation" problems, it is useful to think of some invariant which will not change after applying the operations or changes in a more "simpler" way which is easy to tackle. For example, in this case, the sum at odd and even indices does not change.

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

      I thought of the whole array sum that will not change so the number at the end must be (sum/n) if sum%n !=0 print NO otherwise I convert each number from left to right to (sum/n) by doing the operation and then check the whole array

»
17 месяцев назад, скрыть # |
Rev. 6  
Проголосовать: нравится 0 Проголосовать: не нравится

For G

5

2 1

3 1

4 3

5 2

Here if we remove vertex 2 and vertex 3 , we end up having 3 connected components , but the ans for this test case is 2. Where m i going wrong ?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

How unfortunate that problem F is literally the same as this problem: https://mirror.codeforces.com/problemset/problem/1549/D (P/S: I don't intend to criticize anyone because having the same idea as the old problems isn't rare, it is just that I really want to point this out)

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

During contest I got Idleness limit exceeded on test 1 verdict 295079719. That is weird because it's the first time I have that error on a non interactive problems. I think the problem is the case where n == 1, because the difference array will have length 0. But the more weirder thing is that it works on my local machine.

So my question, is it because the difference array is empty, or is there another problem with my sparseTable that cause the error?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

what you guys think will be the rating distribution on the problems? B a little bit hard to be a 800/900 right?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

G was best :)

Thank you for the problems

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
void solve()
{
    string s = "1";
    string x;
    cin >> x;
    s+=x;
    int n = sz(s);
    for(int i=1;i<=n;i++)
    {
        int idx = i , maxi = s[i]-'0';

        for(int j=i+1;j<=min(j+9,n);j++)
        {
            int digit = s[j]-'0';
            digit-=(j-i);

            if(digit>maxi)
            {
                idx = j;
                maxi = digit;
            }
        }

        s[idx] = maxi + '0';

        while(idx-i>0)
        {
            swap(s[idx],s[idx-1]);
            idx--;
        }
    }

    string ans = s.substr(1,n);

    cout << ans << "\n";
}

for question D why this code give tle ? can someone tell ?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

StringForces???

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Problems of contest are so interesting also not pure math.I enjoyed

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

pskobx Vladosiya, the validator for D doesn't match the problem constraints. The problem doesn't specify that the given string must be a valid integer, but the validator denies strings like "01". The problem is about making lexicographically largest string, so it has no reason to be a valid integer by itself at all.

Validator 'V.exe' returns exit code 3 [FAIL Token parameter [name=s] equals to "01", does...9][0-9]{0,199999}" (test case 1, stdin, line 2)]

Although I can't see the full validator message I assume the full regex is about accepting valid integers only. I hope it gets changed.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

how so solve g? i think its dp but i dont know how to do it

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Look at the submissions by Dima393SF and cemenkovich_kloun. Them submissions are very equvalent. I think, they are cheating. Please, ban them.

Sorry, my English is very bad.

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +8 Проголосовать: не нравится

I hope participants like KMO will be banned cause solving A in 1 minute and C in 1 minute right after this is not impossible, it is hilarious considering the history of his participations in previous contests.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

It took me 36 contests but I've finally reached Pupil. Let's go!!!

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Greatest div 3 of all times

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

What should be the difficulty level of E? I do not trust Clist.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Ahh..so good to see so much progress!!

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

295391659

for problem C why is this giving WA on TC 3.