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

Автор Vladosiya, история, 3 года назад, По-русски

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

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

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

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

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

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

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

Задачи были придуманы и написаны нашей командой: myav, Gornak40, ibraevdmitriy и Vladosiya.

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

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

  2. SomethingNew, rniya, zwezdinv за красное тестирование раунда.

  3. makrav, snowysecret, AlexanderL, KseniaShk, pavlekn за жёлтое тестирование раунда.

  4. gigabuffoon, EgorUlin, KerakTelor, Pa_sha, I_love_geom, petyb, MinaRagy06, toniskrijelj, FynjyBath за фиолетовое тестирование раунда.

  5. Abo_Samrah, dan_dolmatov, pedrosorio, ezdp, sadness, Chrisedyong, Apachee, arseny2606 за синее тестирование раунда.

  6. t0rtik, Sergey140146659, hader239, Modern за бирюзовое тестирование раунда.

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

Всем удачи!

UPD: Разбор

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

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

Waiting for that round. Hopefully, It will be a great round for me. Best of luck to all contestants :)

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

I hope This contest to be my promotion contest, I wish (:

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

As a green tester I can ensure green participants that they will enjoy this round!

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

Why's this not on the home page yet?

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

As a tester I hope, that contest will be very interesting for all participants!

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

As a tester, I hope that this contest will be enjoyed by all participants. Read all problems and good luck! ฅ^•ﻌ•^ฅ

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

Oh finally, it will be my first unofficial div3 round, I think I will enjoy it!!

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

Deleted

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

sory i can`t get a think in line 11 you sed"do not have a point of 1900 or higher in the rating." but in line below it you say "Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you." so is that contest rated for experts or not ?

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

Ez Expert for me

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

At least we know that there will be no bitset problems :)

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

Waiting eagerly. Best of luck to everyone :)

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

I'm not welcome for Div.4 anymore so I must bring out my best in Div.3!

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

Hoping to become an expert this round.

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

Need more div.2 rounds

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

As a tester, I hope the problems will be enjoyable for you!

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

For the life of me, I will never understand why a Div3 contest has 4 times the Expert+ testers as cyan/green testers. Who are these contests even aimed for?

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

Anyone else who just saw a message that the contest has started right now?

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

As a late "as a tester comment", I beg for contribution

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

Going to become Expert.

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

Never felt dumber with a div3C.

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

First time to solve till F, my best performance in div3 :)

Guess which problem took my time most
»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to solve D ?

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

Anyone found the A,B,C much annoying problems.. this div3 contest must have focussed on the problems D,E,F ... rather than keeping the participants to got stuck at A,B,C these days...!

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

C was so annoying , D < C

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

D, E, F were interesting but i found A a little difficult for div3 A unless there is a trick that i couldn't see. Edit: Thanks got it.

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

    A was just bruteforce, that is usually the case, you can just add s to itself a few times until you get to a fairly big size where you are sure the substr won't appear again and use .find() to check if m is a substring. The strings can only get to like 100 so checking till 200 does the trick.

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

    You could just naively check for at most $$$12$$$ operations or so. Time complexity would be $$$O(2^{12}nm)$$$ which is definitely not optimal, but anyways there are not too many testcases so it can't hurt to try too much

    UPD: $$$k=12$$$ got hacked, maybe try something smaller like $$$k=6$$$

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

Any Hints for F? I was finding max and smax ( max and smax will be maximum and second maximun marked node from children ) and considering maximum distance from a node will be max( max distance from children (max) , distance from parent + 1 (max+1 or smax+1) ).

  • »
    »
    3 года назад, скрыть # ^ |
    Rev. 27  
    Проголосовать: нравится +8 Проголосовать: не нравится

    Problem F

    Hint

    Claim

    You don't need to calculate distance from every marked vertex. Just calculate distance from the two marked vertices x and y, such that distance(x, y) >= distance(i, j) for all pairs i and j where 1 <= i, j <= n' and 'i ≠ j. This is sufficient.

    Proof

    Let's assume that x and y are the two marked vertices with the maximum distance between them.

    Now, suppose there exists pair of vertices v and z in the tree such that distance(v, z) > max{distance(v, x), distance(v, y)}.

    We can claim that: max{distance(z, y), distance(z, x)} == distance(z, v) + max{distance(v, x), distance(v, y)} > distance(x, y).

    However, this statement contradicts the fact that x and y are the pair of marked vertices with the maximum distance between them. That means there's no such z and v.

    So, you only need to calculate distances from vertices x and y to satisfy the given condition.

    Formula

    $$$f(i) = max(distance(i, x), distance(i, y))$$$ where $$$(1 \le i \le n)$$$ and $$$(x, y)$$$ are the two marked vertices with the maximum distance between them.

    Time complexity: O(n) at most 4 tree traversal. two for finding (x, y). two for calculating distances.

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

What is the level of complexity of problem E in terms of rating? Is it like the 1600 problem?

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

Many of F solutions have been done using some segtree, or dp....
But mine i just did tree trimming....

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

i feel E tests are weak (check my solution)

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

Hi can anyone help me check my solution for D why it WA3? I had to change the loop to a get prime factorial function but I don't see where this one goes wrong. Thanks in advance https://mirror.codeforces.com/contest/1881/submission/227896125

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

It is very sad to say that I have solved B and C, which is normal for a 'pupil', BUT I couldn't pass A :(

Can someone tell me which test case can spoil my code ? 227915244

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

is the contest not rated for div4? made account on cf few weeks back and still a newbie, though i solved 2 problems but my rating didn't change

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

A — Annoying.

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

balanced contest overall. it's disappointing i wasn't able to solve E because i haven't learned dp yet :(

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

Can problem F using bfs many source?. I can't implement it during the contest

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

I felt that today's E was similar (in terms of statement, not solution) to 1798E.

Also, great problemset!

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

Is there a more elegant way to solve F than some very annoying-to-implement tree DP? (Check my submission for my details)

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

How to solve C?

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

Can anyone tell me the 371st test for test case 2 in Problem G?

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

If someone prefers video explanations or interested in knowing how to think in a live contest or reach to a particular solution.
Here is my live Screencast of solving problems [A -> E] (with detailed commentary in Hindi language).

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

Why are there so many hacks on A? What is the hack?

Also: https://mirror.codeforces.com/contest/1881/submission/227851818

This looks kinda sus, to escape plagiarism checker?

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

Is my solution for problem A hackable

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

Nice ProblemSet :)

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

Maximum possible answer in problem A can be log2(m)+1 . Isn't it?

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

A,B,C,D were tougher than usual div3.

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

Code for generating a testcase to check TLE for problem A

https://ideone.com/c8Rs0m

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

Is using unordered_map in D correct? Shouldn't it give tle? https://mirror.codeforces.com/contest/1881/submission/227902139

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

    It's fine. Input constraints guarantee there are at most $$$10^4$$$ values, each less than or equal to $$$10^6$$$, which means up to 20 factors per value ($$$2^{20} \gt 10^6$$$), so a total of ~200,000 prime factors to add to the map.

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

I think problem F is to find the spanning tree connecting the selected vertices and then get the diameter r->(r+1)/2 as the result but I don't know how to code it. is my idea correct??

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

    Yes, the idea is correct. Maybe you can use the fact that on the smallest tree spanning the marked vertices, every leaf node MUST be a marked vertex. So, root the tree on some arbitrary marked vertex, and trim the leaf nodes until all leaf nodes are marked vertices.

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

I had the idea for the problem F but ran into a bug and ended up wasting my time :3

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

A friendly contest to beginners! Although my B FST... :|

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

everyone seems to be overcomplicating B observation: we can divide a, b, c each into threads of size equal to the greatest common divisor of a, b, c. this will always be optimal therefore, the number of operations would be equal to: ceil((a + b + c) / gcd(a, gcd(b, c)) / 2) (it only takes 1 operations to split into 2 equal threads

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

Hello everyone, I am in bit trouble, I have tried to solve the first question of the contest but I am unable to debug it up. If anyone can help me, I will be very thankful. Thanks My submission

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

Why this code always work for Problem D?


void solve() { double n; cin >> n; double m = 1; double s = 1.0 / n; f(i, 0, n) { int x; cin >> x; m *= pow(x, s); } // cnl(m); double a = ceil(m), b = floor(m); if (abs(m - a) < 1e-6 || abs(m - b) < 1e-6) cnl("YES"); else cnl("NO"); }
»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Question A: What data can be used for hack

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

Question A: What data can be used for hack

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

Hello, how do I solve 1881G - Anya and the Mysterious String with Segment tree using Lazy propogation? This is what I've done 227967016, I haven't used Lazy propogation and it's TLE.

Thank you in advance.

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

Hackforces again ;)

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

problem A was very bad for div3.

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

Can anyone check this i am getting wrong answer in test case 4 for Problem G

here's my submission : 227971449

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

My solution was hacked yesterday, again I submitted the same solution and it got accepted. Do the test cases used in hacking not get added to the main test-case?

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

can anyone tell me was this contest rated for newbies too , bcoz i don't see any change in my ratings ???

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

    Yes it is rated for people with rating under 1600. Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you.

    By the way I am also waiting for the rating changes(not my best div3).

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

Can someone explain Problem E as dp state transitions in detail and also suggest similar problem please

Thanks.

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

Can someone please explain E. Block Sequence as dp states please and also suggest similar problems

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

    Let $$$dp[i]$$$ denote the minimum number of deletions for the suffix starting on the $$$i$$$-th element: $$$a[i..n]$$$. Base case will be $$$dp[n + 1] = 0$$$.

    For $$$dp[i]$$$, we can either delete or take it. If we delete it then $$$dp[i] = dp[i + 1] + 1$$$. If we take it, then the problem reduces to the suffix starting on the $$$j = (i + a[i] + 1)$$$-th element: $$$a[j..n]$$$. So $$$dp[i] = dp[i + a[i] + 1]$$$. We take the minimum.

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

Can anybody help me figure out why there is TLE in this solution (Problem D)?

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

THIS CONTEST REALLY MADE ME TERRIFIED TO CONTINUE COMPETITVE PROGRAMMING

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

It was a nice contest , i have a lot of silly mistakes , but still it was a quality contest

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

What's up with the rating? System testing got completed hours ago?

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

why this round is unrated but the annnouncement said it's rated?

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

My current rating is 656, I participated in this round and solved 3 problems, as my rating is below 1600 this round should be rated for me, but when I check the graph in profile, it shows as unrated, can someone please explain why it is so, Am I missing some condition here?

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

I became expert :)