가장 작은 값끼리 먼저 더해야 최소 비용으로 카드를 묶을 수 있다. 힙 구조(priority_queue)를 사용입력 값 : 1, 2, 3, 4, 5자료구조 : priority_queue <int, vector, greater> pq; 실행 결과 : 51
물건의 갯수 : n가방이 견딜 수 있는 무게 : kn 개의 물건의 무게와 가치 : (wi, vi)배낭에 넣을 수 있는 물건들의 가치합의 최대값을 출력한다.완전탐색으로 평범한 배낭 문제를 풀게 되면 물건의 개수=n 일때 시간복잡도 O(2^n)만큼의 시간이 걸린다.다이나믹
알고리즘 무게별 가방 안에 들어갈 수 있는 보석들 중 가장 비싼 보석 하나를 담는다. > 입력 값 : N(보석의 개수), K(가방의 개수) (0< N, K <300001) 다음 N 개의 줄에 각 보석의 정보 Mi(무게)와 Vi(가치)가 주어진다. (0< Mi, Vi
N : 도시의 수M : 버스의 수입력 값 : N, M, M개의 버스의 출발도시(u), 도착도시(v), 버스비용(cost), 출발지(A), 도착지(B)이 문제를 보고 처음으로 떠올렸던 접근방법은 깊이우선탐색(dfs)였습니다.A 정점에서 dfs탐색을 이용