일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네트워크 플로우
- 완전탐색
- Baekjoon
- 코딩테스트
- BOJ
- 이분탐색
- SWTest
- SWEA
- 삼성
- maximum flow
- 분할정복
- SQL
- 세그먼트트리
- INNER JOIN
- 메모이제이션
- 빅스비 스튜디오
- ICPC
- 빅스비
- 최대 유량
- 백준
- DP
- SDS 알고특강
- Network Flow
- backjoon
- 알고리즘
- 최대유량
- bixby studio
- 프로그래머스
- 후기
- JOIN
- Today
- Total
목록완전탐색 (2)
답은 알고리즘 뿐이야!
문제 출처 : https://www.acmicpc.net/problem/18111 풀이 : 완전 탐색 문제입니다. 각 높이별로 블록이 몇 개 있는지 저장한 후 각 높이를 탐색하여 조건에 맞게 계산한 후 최댓값을 뽑아내면 됩니다. 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 #include using namespace std; int n, m, b, a[257], result = 1e9, hei, i, j, ret, bb; int main() { ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); for (cin >> n >> m >> b; i > ..
문제 출저 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18OR16IuUCFAZN 풀이 : 완전탐색과 DP를 합쳐놓은 문제입니다. 우선 완전탐색으로 행렬을 찾고 연쇄행렬 최소곱셈 알고리즘을 사용하면 됩니다.(DP) 행렬을 찾는 과정은 제약 사항 중 부분 행렬의 열의 개수는 서로 다르며 행렬의 행의 개수도 서로 다르다는 조건에 따라 [SWEA 1259] 금속 막대 이 문제에서 설명 드린 것과 유사하게 찾을 수 있습니다. N X M 행렬에서 N부분은 check 배열에서 ++, M부분은 check 배열에서 -- 하여 유일한 곱셈 순서를 찾고 연쇄행렬 최소곱셈 알고리즘을 사용합니다. (55 ~ 66라인) ..