When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

chokudai's blog

By chokudai, history, 3 years ago, In English

We will hold AtCoder Beginner Contest 194.

The point values will be 100-200-300-400-500-600.

We are looking forward to your participation!

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

| Write comment?
»
3 years ago, # |
  Vote: I like it +17 Vote: I do not like it

This contest will be also hold on the old rating system, right?

Btw, when will the contests hold on the new rating system?

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

Gentle reminder!

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

How to solve D ??
Is D hard than E or its only for me :(

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

    No it's pretty easy if you know some basic probabilityty

  • »
    »
    3 years ago, # ^ |
    Rev. 5   Vote: I like it +7 Vote: I do not like it

    Let dp[i] be the expected number of moves required to connect remaining i nodes,

    Then dp[i] = dp[i — 1] + (n / i)

    Our answer is dp[n — 1] because we need to connect remaining n — 1 nodes

    Explanation :

    Lets say I still need to connect x nodes, then there are n — x already connected nodes. If I make a move now then the probability to connect a unconnected node is ( x / n ) and for already connect node is ( n — x ) / n

    Working on this,dp[i] = (dp[i — 1] + 1) * (i / n) (I connect a unconnected vertices and hence i-1 remain) + (dp[i] + 1) * (n — i / n) (I connect a already connected vertices)

    Rearranging this equation, you would get above equation

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

      Can you suggest few more problems like this one ?

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

still can't solve F , how to represent the state?

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

How to do F ? Is it some sort of digit dp ?

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

I didn't manage to solve D(I would be very grateful if someone could explain it), but I definitely learnt something new from this round, with problem E: https://codeforces.com/blog/entry/57934?#comment-416190.

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

    It's like a problem about "the expected number of girl friends you have in order to have all 12 of the constellations"

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

Why i am getting WA in just one test case in E? My code

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

For D, initially I misread and thought it meant "until the graph becomes fully connected".

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

My codes for anyone interested

D
E
  • »
    »
    3 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What is the idea with E?

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

      https://atcoder.jp/contests/abc194/editorial/863

      This is what he did in his solution

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

        Sorry, I do not get that kind of language. What does it mean pos_i: an array of j such that A_j=i, in the increasing order?

        Edit: Ok, I think I understood.

        pos[0] is a list of positions of all 0 in A[]. Then we iterate pos starting at 0. Foreach list of positions of value i we check if there are two such positions with a difference bigger than M. Because if there is such difference, then this means that there is a subarray in A[] of size at least M without that i.

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

          In above solution, p[i] stores all positions at which i occurs in the given array. Now, let say i occurs at index j1 and j2(j1 < j2). j1 and j2 are consecutive indexes at which i occurs. so if j2-j1-1 >= m( occurs at distance greater than m) it can be our possible answer. As, he is traversing from 0 to n, first such number will be the answer (as we need minimum value).

          Hope it helps!!