[알고리즘] 백준 14889 스타트와 링크 / python
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net def next_permutation(a): n = len(a) - 1 i = n while i > 0 and a[i-1] >= a[i]: i -= 1 if i == 0: return False j = n while a[i-1] >= a[j]: j -= 1 a[i-1], a[j] = a[j], a[i-1] j = n while i < j: a[i], a[j] = a[j], a[i] i += 1 j -= 1 return..
[알고리즘] 백준 11055 가장 큰 증가 부분 수열 / python, dp
https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수� www.acmicpc.net import copy N = int(input()) A = list(map(int, input().split())) dp = copy.deepcopy(A) for i in range(1, N): for j in range(i): if A[j] < A[i]: dp[i] = max(dp[i], dp[j]+A[i]) print(max(dp))