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

Автор thanhchauns2, 2 года назад, По-английски

Hello Codeforces!

$$$\newline$$$

Do you know that eating cheese can make you code faster than the running speed of a Tyrannosaurus REX?

It's been a while, today GlowCheese and I are delighted to invite you to participate in Codeforces Round 963 (Div. 2). This round will be rated for all participants with a rating lower than 2100.

Our round will start on Aug/04/2024 17:35 (Moscow time). You will be given 6 problems and 120 minutes to solve them.

This contest is brought to you by Code Mely, a Vietnamese community for Computer Science. Reach out to us here.

Special thanks to:

Score distribution: $$$500 - 1000 - 1500 - 2000 - 2750 - (2500 - 1000)$$$

Hope to see you in the final standings!

UPD1. Editorial is out!

UPD2. Congratulations to the winners:

Div.2:

  1. kkkksc03
  2. imwh
  3. _acsm_
  4. nttqwq
  5. rainboy

Div.1 + Div.2:

  1. A_G
  2. arvindf232
  3. Rubikun
  4. kkkksc03
  5. Sugar_fan
  • Проголосовать: нравится
  • +522
  • Проголосовать: не нравится

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

As a tester, TrendBattles orz

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

As a participant, I am here before the testers.

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

As a tester, I was too busy doing last-minute testing that I run out of good pick-up lines for contribution pleadings.

Also, I wanna say a lot but the authorities will shut me dow-

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

As a tester, i_love_huyhau6a2 orz

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

Hello, I don't have much time to tell this but as a tester I've known quite some things. Specifically for problem D you can solve usingdajpoiiadaodald;/;

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

as a tester, i_love_huyhau6a2 orz

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

as a tester, i_love_huyhau6a2 orz

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

As a tester, I did nothing but still be mentioned.

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

As a participant,

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

As a testers, I tested all over the problems

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

Hope for reaching Master after after after this round.

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

As a participant, i_love_huyhau6a2 orz

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

Hope to reach master before i die !

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

As the tester, I tested.

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

as a participant, bibimoni orz

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

Best wishes to my purple friends, hope they become orange!

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

As a tester

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

Seems that nobody like my joke

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

as a tester, i did literally nothing...

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

ngl it was the shittiest joke I've ever read

»
2 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
as the weakest tester who tested the round
»
2 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

why does the round number doesn't show up in cf contests page? image

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

Watch your 6 homeboy I'm coming for your as-

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

As a Faze fan, I can confirm karrigan is the World No.1 IGL

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

Make you code? Shouldn't be make your code?

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

As a participant, i'm on hopium :D

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

i want to be tester

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

As a tester, I currently have no contributions.

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

ORZ

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

oh my gad glow cheese round!!!!

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

As a participant, chikien2009 orz

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

As a GlowCheese fan, I will participate

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

will there be pics of the authors ?

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

sorry but... GlowCheese and *I =))

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

As a participant, uncle-T orz

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

As a participant, khoad orz

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

As a contestant, I wish i can change be master

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

Still preparing cheese for the contest

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

Done eating 5 kg of cheese...

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

hope to solve C and get +ve delta

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

I think it will be Permutation_force :(:(

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

Do you know that eating cheese can make you code faster than the running speed of a Tyrannosaurus REX?

is it some kinda hint or wot??

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

Hoping you guys will make this contest fantastic

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

GlowCheese, thanhchauns2 oooooorzzzzzzzzzzzzzzz

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

oh, Vietnamese contest!!!

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

Hope to reach Candidate Master after this contest

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

should increase rating at least by a bit

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

rating distribution when?

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

As a participant, I hope I'm not choking in this contest

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

I hope everything goes well. I can play as well as I should in this game.And....stO Akulyat Orz.

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

As not a tester, how to become tester?

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

CM go go?

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

newbie to codeforces. any advices?

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

wish work out E today.

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

hope for Salah7_a <3

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

great round!

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

good A B C, never again ^_^

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

may be problems are easy or difficult compare to other div2 round but i find it much difficult need to practice more

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

My dislike to this contest is addressed not to the authors, who did a great job, but to Akulyat, who completely fucked up problem difficulty estimation. Awful work as a contest coordinator.

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

SpeedForces!

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

I'm seeing a lot of people who were not even able to solve 3 problems in div3 or 2 in div2 in their past few contests have solved 1500-rated problem in this one. Are they suddenly becoming intelligent or what? If they are cheaters, will CF do something for them, or are they also silent like LC? I'm not aware of what CF does to catch them. Do anyone know, if they have a strong plag check or not?

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

casework orz

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

C and D are too far apart.

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

I was very mad...

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

Is D binary search?

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

I think problem C has extremely weak pretest,

I passed pretest it without binary search O(n * k)

even wrote hack myself but anyway I didn't hacked :)

UDP: it actually passed systest wtf I'm so lucky

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

Thank you for the great animations in F!

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

Ordered sets got TLE in D, I suppose BIT is the intended solution? Didn't have time to implement at the end

UPD: nvm, in worst case for values $$$k$$$ close to $$$n$$$ and all unique values of $$$a_i$$$ this approach is both quadratic time and memory, regardless of DS used ;c

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

the speed of solving B, C is normal or bcos of cheating?

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

F2 = F1 + CF710D

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

D is so hard that only 400 (unofficial excluded) solve it!

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

What a joke! 7500+ solved C — 500+ solved D

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

I really liked problem D, the fact that the $$$i$$$-th element of the resulting set must be in a position $$$j \equiv i (\mod k)$$$ is a really really cool invariant, and the resulting DP to check if a median is achievable is really nice as well.

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

ARGHH i think i solved F2 but i was about 10 mins too slow

basically from (0,0) -> (a,b) -> it will visit some nodes [k = 1] -> (x,y) -> (a+x, b+y) -> more nodes [k = 2] -> (2x,2y)

it's a (0,0) if it's a multiple of (2w,2h) or x'%2w = 0 AND y'%2h = 0

let W = 2w, H = 2h

let's say you're working with some coordinate (u,v) -> it's a (0,0) iff (u-kx)%W = 0, (v-ky)%H = 0

kx%W = u

ky%H = v

if gcd(x,W) not 1 then kx%W = -u eqv to k(x/gcd)%(H/gcd) = (-u/gcd) (same for the y case)

solve for k for each one (assuming there is a solution) -> k = u*lcm(H,W) + w -> then just check how many k exists between [1..k]

repeat for each coordinate (there can only be at most 10^6 of them)

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

In D, I tried doing binary search and converting the arrays into 1s and 0s based on if element >= mid. Now we basically need to choose more 1s and 0s. What do we do beyond this? I though of dp but thats n*k

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

    In your states, if you try to minimize the number of remaining $$$0$$$, you don't need to remember how much elements you've taken (you will have to take at least $$$n \bmod k$$$ and there is no point in taking more). You just need to remember if you took at least one element in the case $$$k$$$ divides $$$n$$$. So you have $$$2n$$$ states.

    I think it's a cool observation, congrats to the problem author :)

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

      Damnnn thats actually cool

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

      That is probably sufficient to pass, but FYI it can be optimized to a linear DP with $$$n$$$ states. We want to pick, sequentially, an element that is in a index with 1 mod k, 2 mod k, ..., n mod k (using 1-indexed and considering the case where n mod k!=0). The problem arises only when we "wrap around" and start taking 1 mod k, 2 mod k, ..., n mod k, ..., 0, 1 mod k and start taking more than the limit. This can be avoided by simply preventing the transition from 0 to 1 mod k and instead setting dp[i]=(a[i]>=x) for every index $$$i\equiv1 \pmod{k}$$$. Sub

      P.S. It's even possible to optimize it to $$$k$$$ states.

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

can anyone tell why this failed, this is hurting my brain 274401938

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

How C?

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

    Denote $$$\text{ans} = \max(a_i)$$$, iterate all lights and find the next $$$x \ge a_i$$$ that the light in question will be on, then assign $$$x$$$ to $$$\text{ans}$$$. Check if $$$\max(a_i) + k \lt \text{ans}$$$.

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

f44a1f8643196544cd31ab9501e3e62f .

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

What is idea B?

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

mathforces :(

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

A: sum(c)(max(0, cnt(c)-a)) for 'A'<=c<='D'.

B: Assume there are both odd and even numbers in a[i] (otherwise answer is trivially 0), because in each operation we can reduce count of odd numbers by at most 1 in each operation, and when there's only 1 odd number we can't change its parity, we need to change all numbers to odd. So we can add the greatest odd number to smallest even number repeatedly, until there's no even number. If we can do this, the answer is (count of even numbers). Otherwise, we can add the greatest even number to an odd number, and add this odd number to all even numbers, then answer is (count of even numbers)+1.

C: Let A = max(a[i]), the number of lights turned on will change with period 2*k after A minutes, and the answer cannot be small than A, so we only need to check range [A, A+2*k-1] using prefix sums.

D: Let's find the answer by binary search. So for certain M we need to change a[i] to 1 when a[i]<M or 0 otherwise. Then we need to choose some remaining indexes {i0=0, i1, i2, ..., i_r, i_(r+1)=n+1} where i_(j+1)-i_j-1 is multiple of k (0<=j<=r), and sum(a[i_j]) is minimized. We can solve this by dp: let dp[i] = the minimum sum if we let i_r=i. Then we have dp[0]=0, dp[i]=a[i]+min(0<=j<i, j%k==(i-1)%k)(dp[j]), the minimum valid sum is min(1<=i<=n, i%k==n%k)(dp[i]).

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

E: Thinkless $$$O((n+1)^2(m+1)^2 (2^n+2^m))$$$ cooked me (I need one more optimization to get AC)
btw, in this kind of problems, why not limit $$$t \le 10$$$ (small constant) or use single test, instead of complicated bound for one input?

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

    Single test leads to having too many tests. Since the resources are limited, it leads to worse coverage.
    If we do $$$t \le 10$$$, then we can have $$$10$$$ large tests or $$$10$$$ small tests, meanwhile we want to have just a couple of big tests (otherwise the complexity would be multiplied by $$$t$$$) or lots of small tests (for better coverage)

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

Is judging cooked? Some early submissions are stuck in queue (including my A)

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

any idea why it doesn't work for B ? https://codeforces.me/contest/1993/submission/274399672

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

Cheaters must be stopped before it runs into Cheatforces

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

Problem C by 7k+ people. It's a sure shot cheating case. Please do look at it :)

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

Can anyone tell why O(N*K) working for problem c https://codeforces.me/contest/1993/submission/274391283

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

Problem D: Find error in my logic, it is giving WA (176th number) on test case 2

274418415

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

Hey everyone

can someone please tell me why my solution for Problem B — Parity and Sum is WA on test case 2

My c++ solution:

#include<bits/stdc++.h>
using namespace std;
#define ll long long

// Code By VibhuGodson
int main ()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    ll t=1;
    cin>>t;
    while(t--){
        ll n;
        cin>>n;
        vector<ll>evn;
        ll mxod=-1;
        ll x;
        for(ll i=0;i<n;i++){
            cin>>x;
            if(x%2) mxod=max(mxod,x);
            else evn.push_back(x);
        }
        sort(evn.begin(),evn.end());
        ll ans=0;
        if(evn.size()==0 or evn.size()==n){
            cout<<ans<<endl;
            continue;
        }
        for(auto&i:evn){
            if(i>mxod){
                mxod=2*i+mxod;
                ans+=2;
            }else{
                mxod = i+mxod;
                ans++;
            }
        }
        // cout<<"---------------";
        cout<<ans<<endl;
    }
    return 0;
}

I think the intution is same as per the editorial

my submission

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

Link of editorial don't work

update : it is working now : )

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

The test of Problem C is too weak. Many people accept this problem with a solution which has time complexity of O(nk).

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

Thank you the authors and Code Mely for the awesome contest! I enjoyed it a lot!

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

I think the cases were too weak for problem B and C. Many submissions of O(n*k) for C are accepted and for problem B https://codeforces.me/contest/1993/submission/274429127 this code runs for 10^16 how? MikeMirzayanov thanhchauns2

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

Can't open tutorial. I'm getting this error:

You are not allowed to view the requested page

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

I solved ABC under an hour as a 1000 rated. C definitely seemed easier than almost all Div 2s I’ve done.

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

2 pupils in top 5 beating all candidate masters sounds fishy. Moreover they aren't new accounts either. The guy at rank 1 had 10k rank in last contest and 8 in last to last. Don't you think it's too strange of a variation?

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

B, D, and E are great problems <3

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

Problem C was not qualityfull at all whereas B was enough good

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

Thank you to the authors and coordinator for the nice problems!

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

D is a great problem, but F2's trick is trivial :(

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

I wasn't able to solve D in contest because I didn't think in terms of binary search and then converting the array to binary and then solving it using DP.

Is it a known technique, which I am not aware of or are there more questions like this?

I want to solve them and learn as it isn't intuitive for me yet.

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

I think the data of problem C is a bit weak. I used the method of O(nk) with a little trick and then passed problem C.

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

I hate Median

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

7k people solve C? That's impossible. I almost become expert, but I didn't solve C and get -80 scores, that really hurts : (