Skip to content

Commit

Permalink
Merge pull request #66 from AlgoLeadMe/18-alstjr7437
Browse files Browse the repository at this point in the history
18-alstjr7437
  • Loading branch information
alstjr7437 authored Apr 8, 2024
2 parents c3e9e04 + bcde3c2 commit 14500e3
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 4 deletions.
21 changes: 21 additions & 0 deletions alstjr7437/DP/구간-나누기.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# n, m = map(int,input())

# num = [ i for i in range(n): int(input())]

# dp = [[-1e9] * m for _ in range(n+1)]
# for i in range(n):

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
dp1 = [[0]+[-1e9]*m for i in range(n+1)]
dp2 = [[0]+[-1e9]*m for i in range(n+1)]
num = [int(input()) for i in range(n) ]

for i in range(1, n+1):
for j in range(1, min(m, (i+1)//2)+1):
dp2[i][j]=max(dp1[i-1][j], dp2[i-1][j])
dp1[i][j]=max(dp1[i-1][j], dp2[i-1][j-1])+num[i-1]
print(max(dp1[n][m], dp2[n][m]))

4 changes: 3 additions & 1 deletion alstjr7437/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@
| 13차시 | 2024.02.29 | DP | <a href="https://www.acmicpc.net/problem/10844">쉬운 계단 수</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/42 |
| 14차시 | 2024.03.03 | 브루트포스 | <a href="https://www.acmicpc.net/problem/18111">마인크래프트</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/48 |
| 15차시 | 2024.03.09 | 우선순위 큐 | <a href="https://www.acmicpc.net/problem/13975">파일 합치기3</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/53 |
| 16차시 | 2024.03.13 | 정렬 | <a href="https://www.acmicpc.net/problem/2170">선 긋기</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/57 |
| 16차시 | 2024.03.13 | 정렬 | <a href="https://www.acmicpc.net/problem/2170">선 긋기</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/57 |
| 17차시 | 2024.03.16 | DP | <a href="https://www.acmicpc.net/problem/2228">구간 나누기</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/61 |
| 18차시 | 2024.03.23 | 다익스트라 | <a href="https://www.acmicpc.net/problem/1753">최단 경로</a> | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/66 |
40 changes: 40 additions & 0 deletions alstjr7437/그래프/최단경로.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from heapq import *
import sys

input = sys.stdin.readline

v, e = map(int, input().split())
k = int(input())

# 그래프 만들기
graph = [[] for _ in range(v + 1)]
for _ in range(e):
a, b, c = map(int, input().split())
graph[a].append((c, b))

# 결과 저장할 변수 만들기
heap = []
result = [int(1e9)] * (v + 1)

# k 넣기
result[k] = 0
heappush(heap, (0, k))

# 다익스트라 돌리기
while heap:
weight, now = heappop(heap)
# print(weight,now, heap, result)
if result[now] < weight:
continue
for next_weight, next_node in graph[now]:
total_weight = weight + next_weight
if total_weight < result[next_node]:
result[next_node] = total_weight
heappush(heap, (total_weight, next_node))

# 결과 출력하기
for i in range(1, v + 1):
if result[i] == int(1e9):
print("INF")
else:
print(result[i])
3 changes: 0 additions & 3 deletions alstjr7437/정렬/tempCodeRunnerFile.py

This file was deleted.

0 comments on commit 14500e3

Please sign in to comment.