atcoder_official's blog

By atcoder_official, history, 3 years ago, In English

We will hold Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324).

We are looking forward to your participation!

  • Vote: I like it
  • +49
  • Vote: I do not like it

| Write comment?
»
3 years ago, hide # |
 
Vote: I like it -76 Vote: I do not like it

is it rated?

»
3 years ago, hide # |
 
Vote: I like it +7 Vote: I do not like it

Why the rating changes in recent round rolled back?

»
3 years ago, hide # |
 
Vote: I like it +2 Vote: I do not like it

atcoder beginner contest is like div 3 contest of codeforces and is very good for beginners everyone should participate.

»
3 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Solve in A-B-C-E-D,although I may be not able to solve e.

  • »
    »
    3 years ago, hide # ^ |
    Rev. 3  
    Vote: I like it -10 Vote: I do not like it

    So, what things should I say?

    Today's contest is even easier than the previous one!

    I only took 23 munites to flash through problem A, B, C, D!

    Upd in 2023.10.14. 21:15 CST: Today is my first time solving the problem A, B, C, D and E all! Water!

»
3 years ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

I might be wrong, but I vaguely remember solving F on Leetcode long ago.

»
3 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Does anyone have any hints for problem F? I can't even solve the easier version where $$$c_i = 1$$$ for all $$$i$$$.

»
3 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

For problem D could anyone tell what's that only wrong answer : submission

»
3 years ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

A-F easy to think and code but agonizing to debug for me, got so much penalty :(

»
3 years ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Why do we need to binary search the answer in F and why just a single depth-first pass doesn't work? I tried keeping the best possible pairs of values of numerators and denominators for each node, then calculating the best possible dp values for each node as well, but I got WA in 14 testcases. This approach does feel hacky, but I don't immediately see a reason why it doesn't work.

  • »
    »
    3 years ago, hide # ^ |
    Rev. 2  
    Vote: I like it +8 Vote: I do not like it
    Test case
    • »
      »
      »
      3 years ago, hide # ^ |
       
      Vote: I like it 0 Vote: I do not like it

      For this test case I'm actually getting 0.107930595039702, which I believe is supposed to be $$$\dfrac{1101}{10201}$$$.

      Here's the code:

      Code
»
3 years ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

Actually A-F (maybe even G) was easy to think, but the implementation...

»
3 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

solved G in 9min after the contest :(

»
3 years ago, hide # |
Rev. 2  
Vote: I like it +19 Vote: I do not like it

My solution for G is different from the editorial, so I will share here.

Each sequence $$$S_i$$$ can be represented with two intervals. $$$[L_i, R_i]$$$, which is the corresponding index interval on the original permutation, let's call it index interval. And also $$$[LV_i, RV_i]$$$, meaning that the numbers on the sequence $$$S_i$$$ can only be in that interval, let's call it value interval. Initially for $$$S_0$$$, we have $$$[1, n]$$$ for both index and value interval. If we correctly compute these two intervals for each sequence, we can use a persistent segment tree to recover the size of the sequence. This segment tree will have $$$N + 1$$$ versions. Each version corresponds to a prefix of the given permutation. The i-th position on the v-th version will indicate whether or not the number $$$i$$$ is present on the permutation's prefix of size $$$v$$$ (we will have either $$$0$$$ or $$$1$$$ in each position). My submission.

Details
»
3 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I tried to solve question c but it is failing in some cases. Here is my submission. can someone tell me why my code is failing like some testcases

»
3 years ago, hide # |
 
Vote: I like it +11 Vote: I do not like it

By the way the video editorial of this contest is very cute lol

Some snapshot

»
3 years ago, hide # |
 
Vote: I like it -18 Vote: I do not like it

Can someone tell me why my code is failing like some testcases in Problem C

a,b = input().split() ans = [] for i in range(int(a)): c = input() if b==c: ans.append(i+1) elif len(b)==len(c): temp = 0 for j in range(len(b)): if b[j]!=c[j]: temp+=1 if temp>1: break if temp==1: ans.append(i+1) elif len(b)+1 == len(c): temp = -1 temp1 = -1 for j in range(len(b)): if b[j]==c[j]: continue else: temp = j break if temp!=-1: for j in range(temp+1,len(b)): if b[j-1]!=c[j]: temp1 = 0 break if temp1==-1 or temp == -1: ans.append(i+1) elif len(c)+1 == len(b): temp = -1 temp1 = -1 for j in range(len(c)): if b[j]==c[j]: continue else: temp = j break if temp!=-1: for j in range(temp+1,len(c)): if b[j]!=c[j-1]: temp1 = 0 break if temp1==-1 or temp == -1: ans.append(i+1) print(len(ans)) print(*ans)