ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #723 div2 5/28
    대회/코드포스 2021. 5. 30. 19:45

    https://codeforces.com/contest/1526

     

    Dashboard - Codeforces Round #723 (Div. 2) - Codeforces

     

    codeforces.com

    A. Mean Inequality

     

    2*n개의 수열이 존재하고, 이 수들의 사이값이 양쪽 두 값 합의 절반이 되지 않도록 재배열 하는 문제. 

    따라서 양쪽이 모두 그 중간값보다 크게 되면 절대 양쪽 두 값 합의 절반이 될 수 없으므로 배열을 크기순으로 다시하면 된다. 

     

    B. I Hate 1111

     

    먼저 그냥 1000 + 111 이 1111이라고 생각을 했고, 왜 그런지 몰라도 배수처럼 생각을 하였다. 그러나 배수 약수 관계가 아니었고 그렇게 틀리면 틀리는게 당연했다. 그래서 그냥 수열로서 어떤식으로 11로 111을 만들 수 있는지 digit으로 구분해서 생각을 해보았으나 전혀 생각이 되지 않았다. 

    이 문제는 다른 1으로 이루어진 수들은 11과 111의 배수이다. 따라서 11과 111 두 가지 수로만 만들 수 있는지 아닌지를 체크하면 된다. 여기서 이제 수식이 들어간다.

    우리한테 주어진 수 X = A*11 + B*111 이고, B = C*11 + D이므로 D는 11보다 작은 수이다. 

     

    여기서 B대신 우변을 대입하면 

    X = A*11 + (C*11+D)*111 이 되고, 

    X = 11*(A+C*111) + 111*D가 된다.

    따라서 111의 가짓수는 0개에서 10개까지가 되고, 이 경우들을 따져보면 된다.

     

    C1. Potions (Easy Version)

     

    DP문제 

    점화식을 체크했지만 뭐가 문제인지 계속해서 WA가 나온다. 점화식은 다음과 같다.

    dp[i][k] := i번째 포션까지 체크했을 때 이제까지 k개의 포션을 섭취했을 때의 남은 에너지의 최대

     

    dp[i][k] = max(dp[i-1][k-1] + ai (if dp[i-1][k-1]+ai>=0) , dp[i-1][k])

     

    O(n^2)으로 가능하다.

     

    dp를 정말 못푼다. 뭐든지 그리디로 생각하려고 하고, 그렇기 때문에 점화식을 구할 생각을 잘 하지 못하는 것 같다. 특히 이 문제는 napsack같은 느낌이 솔솔 나는데 아직 머릿속에 그려지지 않는 것을 보면 많이 학습해서 적응이 되게끔 해야겠다는 생각이 든다. 

    '대회 > 코드포스' 카테고리의 다른 글

    #731 div3 7/11 virtual  (0) 2021.07.11
    #728 div2 6/26  (0) 2021.06.30
    #721 div2 5/23 virtual  (0) 2021.05.23
    Educational 107 div2 5/14 virtual  (0) 2021.05.14
    #716 div2 04/19  (0) 2021.04.20

    댓글

Designed by Tistory.