일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 투포인터
- 삼분탐색
- DP
- 정렬
- 플로이드와샬
- lca
- 세그먼트트리
- boj
- 비트마스크
- dfs
- 구현
- BFS
- 위상정렬
- 다익스트라
- 백준
- 이분매칭
- lis
- 그리디
- 이분탐색
- 브루트포스
- 누적합
- 좌표압축
- 에라토스테네스의 체
- 이진탐색
- MST
- 크루스칼
- DisjointSet
- 펜윅트리
- LazyPropagation
- 수학
- Today
- Total
목록DP (20)
lastknight00
문제 링크 : [백준] 행렬 곱셈 순서(11049) 문제 설명 n개의 행렬 사이즈가 주어질 때, 모든 행렬을 곱할 때, 곱셈 연산을 최소로 할 때의 연산 수를 출력하세요. 입력 N(행렬의 수, 1
문제 링크 : [백준] 외판원 순회(2098) 문제 설명 n개의 도시가 있고, 외판원이 한 도시에서 시작해서 그 도시까지 돌아오는데 최소비용으로 돌아오는 비용을 출력합니다. 아무도시에서나 시작할 수 있고, 도로는 단방향입니다. 입력 N(도시의 수, 2
문제 링크 : [백준] 인경호의 징검다리(11583) 문제 설명 n개의 징검다리가 있고, 각 징검다리에는 숫자가 있습니다. 1번 징검다리에서 시작하여 한번에 최대 k칸 건너갈 수 있는데, 징검다리를 밟을 때마다, 밟은 징검다리의 숫자를 곱해나가 마지막 징검다리를 밟았을 때 완성된 숫자들을 10x으로 나눌수 있는 최대 x들 중 최소값을 출력하세요. 입력 t(테스트 케이스 수) n(징검다리 갯수,2n>>m; memset(e,0,sizeof(e)); for(i=0;i>d[i]; if(i)e[i][0]=e[i][1]=999999999; for(j=1;j
문제 링크 : [백준] 커플 만들기(1727) 문제 설명 두 1차원 배열이 주어졌을 때, 원소의 갯수가 작은 배열의 모든 원소들을 원소의 갯수가 큰 배열과 1:1 쌍을 이룰 때, 쌍을 이룬 값들의 차이의 합이 최소가 되는 값을 구하여라. 입력 n(첫번째 배열의 원소 갯수, 1c?c:a;} l r(int* a1,int* a2,int x,int y){ if(!x)return 0; if(!y)return 1000000000000; x--;y--; if(v[x][y])return f[x][y]; f[x][y]=a(a1[x]-a2[y])+r(a1,a2,x,y); f[x][y]=b(f[x][y],r(a1,a2,x+1,y)); v[x][y]=1; return f[x][y]; } int main(){ scanf("%d..