less than 1 minute read


sport

bj 14501 - 퇴사

https://www.acmicpc.net/problem/14501

py solution

간단한 dp 문제여서, 바텀업으로 풀었다.

def solve():
    N = ria()[0]
    ans=[0]*(N+10)
    for i in range(N):
        tt,pp = ria()

        # if(ans[i+tt]<ans[i]+pp):
        if(i>0):
            ans[i] = max(ans[i], ans[i-1])
        ans[i+tt] = max(ans[i+tt], ans[i]+pp)
        
    # print(ans)
    print(max(ans[N], ans[N-1]))
    pass

bj 20117 - 호반우 상인의 이상한 품질 계산법

https://www.acmicpc.net/problem/20117

생각. 품질값은 1~1000이므로, 인덱스에 개수를 카운팅할 수 있다. 그런데, 묶음을 순서대로가 아니라, 섞어서 하는게 이득일 지 어떨지 모른다.

수식적으로 접근?

산술 평균은 전체 합 S라 했을 때 S/n 중앙값은 a1, a2, … am, …, an에서 am..

못풀고 해답봄.

단순하게 두 개씩으로 볼 때 중앙값이 최대값으로 잡히므로, 이것을 이용해서 풀면 되는 문제였다. 문제는, 이런 접근 방법을 어떻게 생각하느냐다.


Comments