일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 그리디
- lca
- dfs
- LazyPropagation
- 이진탐색
- 구현
- MST
- lis
- 투포인터
- 다익스트라
- 에라토스테네스의 체
- 수학
- 백준
- 펜윅트리
- 좌표압축
- 비트마스크
- boj
- 삼분탐색
- BFS
- 정렬
- 위상정렬
- 이분매칭
- 크루스칼
- 플로이드와샬
- DP
- 세그먼트트리
- 브루트포스
- 누적합
- 이분탐색
- DisjointSet
- Today
- Total
목록다익스트라 (18)
lastknight00
문제 링크 : [백준]소가 길을 건너간 이유 7(14461) 문제 설명 N * N 행렬이 주어지고, 각 칸에는 풀의 양이 주어집니다. 소는 (1,1)에서 출발하여, (N,N)까지 이동해야 합니다. 각 칸을 이동 할 때는 T초가 걸리며, 소가 세칸을 이동한 후에는 그 칸의 풀을 먹어야 합니다. 소가 도착하는데 걸리는 최소 시간을 구하세요. 입력 N(행렬의 크기, 1
문제 링크 : [백준]백도어(17396) 문제 설명 N개의 노드와 M개의 비용을 포함한 엣지 정보가 주어집니다. 또한 각 노드를 경우할 수 있는지 여부도 주어집니다.(N-1번 노드는 1이어도 방문 가능합니다.) 0번 노드에서 시작하여 N-1번 노드까지 가는 최단 경로를 구하세요. 입력 N(노드의 갯수, 1 d[i]; d[n-1]=0; while(m--){ cin>>a>>b>>c; v[a].push_back({c,b}); v[b].push_back({c,a}); } q.push({0,0}); while(!q.empty()){ P x=q.top();q.pop(); if(e[x.second])continue; e[x.second]=1; if(x.second==n-1){ cout
문제 링크 : [백준]소수마을(14431) 문제 설명 소수마을과 A마을, N개의 마을들의 좌표가 주어집니다. 소수마을에서 A마을까지 이동하려고 하는데, 이동 할 때는, 이동거리가 소수인 경우에만 이동 할 수 있습니다. 이동거리는 두 마을간의 이동 거리이며, 소수점은 버립니다. 소수마을에서 A마을까지의 최단거리를 구하세요. 입력 Px Py Ax Ay(소수마을의 좌표, 마을의 좌표) N(마을의 갯수, 1
문제 링크 : [백준]늑대 사냥꾼(2917) 문제 설명 N * M 의 배열이 아래와 같은 내용으로 주어집니다. V : 출발 지점 J : 도착 지점 . : 빈칸 + : 나무 V에서 출발하여, J까지 도착하는데, 최대한 나무에서 멀리 떨어져서 도착하려고 합니다. 이때 이동구간 중 나무와 제일 가까이 있는 거리를 구하세요. 입력 N M(배열 크기, 1 =0&&x
문제 링크 : [백준]달빛 여우(16118) 문제 설명 달빛 여우와 달빛 늑대가 각자 1번 노드에서 모든 노드로 이동하는 최단 거리 중, 달빛 여우가 달빛 늑대보다 먼저 도착할 수 있는 노드가 몇개인지 구하세요. 달빛 여우는 모든 거리를 동일한 속도로 이동합니다. 달빛 늑대는 처음 이동하는 노드는 달빛 여우보다 두배 빠르게 이동합니다. 달빛 늑대는 빠르게 이동한 후, 다음 이동은 달빛 여우보다 두배 느리게 이동합니다. 달빛 늑대가 두배 느리게 이동한 후에는 다시 달빛 여우보다 두배 빠르게 이동합니다. 달빛 늑대는 2, 3, 4를 반복하여 이동합니다. 입력 N(노드 갯수, 2 a>>b>>c; v[a].push_back({c*2,b}); v[b].push_back({c*2,a}); } q.push({0,..
문제 링크 : [백준]등산(16681) 문제 설명 N개의 노드가 존재하며, 각 노드의 높아가 주어집니다. 1번 노드에서 출발하여, 2 ~ N-1 노드 중, 한 곳을 목표로 이동한 후, N 노드로 이동을 합니다. 1번 노드에서 목표 노드까지는 높이가 높아지는 방향으로만 이동 가능합니다. 목표 노드에서 N번 노드까지는 높이가 낮아지는 방향으로만 이동 가능합니다. 이때 만족도는 (E * 목표 노드의 높이) - (총 이동거리 * D)가 됩니다. 얻을 수 있는 최대 만족도를 구하세요. 입력 N(노드의 갯수, 1 b>>c; v[a].push_back({c,b}); v[b].push_back({c,a}); } r(1,f); r(n,g); b=0; for(i=2;i
문제 링크 : [백준]일요일 아침의 데이트(1445) 문제 설명 N * M 배열에 시작점, 빈칸, 꽃, 쓰레기들이 주어집니다. 시작점에서 꽃까지 가는데, 쓰레기를 최소한으로 지나가며, 쓰레기를 지나가는 횟수가 같은 방법이 여러가지라면 옆으로 지나가는 횟수를 최소한으로 지나가는 횟수를 구하세요. 입력 N(배열의 세로 크기, 1