하효닝
log(hahyun ^ B)
하효닝
전체 방문자
오늘
어제
  • 분류 전체보기 (140)
    • Diary (0)
    • Web (7)
    • Frontend (8)
    • Python (44)
      • Python (1)
      • Algorithm (13)
      • Coding Test (30)
    • Django (3)
      • Django (2)
      • Django Rest (1)
    • Java (14)
      • Java (10)
      • Java Tuning (4)
    • Spring (34)
      • Spring (7)
      • Spring MVC (5)
      • DB 접근기술 (1)
      • JPA (10)
      • Spring Security (3)
      • Rest API (8)
    • Computer Science (26)
      • Operating System (8)
      • Linux (2)
      • Network (2)
      • Database (9)
      • SQL Tuning (5)
    • AWS (2)
    • Git (0)
    • etc (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
하효닝

log(hahyun ^ B)

Python/Coding Test

22871 징검다리 건너기 (large)

2022. 2. 27. 03:52

문제

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

 

22871번: 징검다리 건너기 (large)

$N$개의 돌이 일렬로 나열 되어 있다. $N$개의 돌에는 수 $A_{1} A_{2} ... A_{i} ... A_{N}$로 부여되어 있다. 가장 왼쪽에 있는 돌에서 출발하여 가장 오른쪽에 있는 돌로 건너가려고 한다. 항상 오른쪽으

www.acmicpc.net

 

접근

  • 22869 징검다리 건너기 (small) 문제랑 조건은 똑같고, N번째 돌까지 갈 수 있는 모든 경로 중 K의 최솟값을 찾는 문제이므로 파라메트릭 서치 즉, 이분탐색과 DP로 풀이했다.

 

풀이

  • DP 과정은 22869번과 동일하고 lt는 0으로 rt는 10 ** 9으로 초기화한 후 이분탐색으로 적절한 K값중 가장 작은 값을 구했다.
  • 비교 조건은 N번째 돌까지 이동하는데 필요한 힘의 최댓값의 최솟값이 mid 값보다 작거나 같으면 정답 갱신
n = int(input())
a = [0] + list(map(int, input().split()))

d = [0] * (n + 1)
for i in range(n + 1):
    d[i] = (i - 1) * (1 + abs(a[i] - a[1]))

for i in range(1, n + 1):
    for j in range(1, i):
        d[i] = min(d[i], max(d[j], (i - j) * (1 + abs(a[i] - a[j]))))

lt = 0
rt = 10 ** 9
ans = -1
while lt <= rt:
    mid = (lt + rt) // 2
    if d[n] <= mid:
        ans = mid
        rt = mid - 1
    else:
        lt = mid + 1
print(ans)

 

'Python > Coding Test' 카테고리의 다른 글

4803 트리  (0) 2022.03.01
19641 중첩 집합 모델  (0) 2022.02.28
22869 징검다리 건너기 (small)  (0) 2022.02.27
1863 스카이라인 쉬운거  (0) 2022.02.26
20182 골목 대장 호석 - 효율성 1  (0) 2022.02.25
    'Python/Coding Test' 카테고리의 다른 글
    • 4803 트리
    • 19641 중첩 집합 모델
    • 22869 징검다리 건너기 (small)
    • 1863 스카이라인 쉬운거
    하효닝
    하효닝

    티스토리툴바