| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
													Tags
													
											
												
												- off by one
- fsb
- syscall
- 수학
- 다이나믹 프로그래밍
- 문자열 처리
- 스택
- heap
- 분할 정복
- 백트래킹
- 완전 탐색
- 연결리스트
- 브루트 포스
- OOB
- 스위핑 알고리즘
- 큐
- BFS
- RTL
- 포맷스트링버그
- DFS
- tcache
- 이진트리
- 투 포인터
- 에라토스테네스의 체
- House of Orange
- 동적 계획법
- 이분 탐색
- ROP
- BOF
- 이진 탐색
													Archives
													
											
												
												- Today
- Total
SDJ( 수돈재 아님 ㅎ )
[C++] 1182 - 부분수열의 합 본문
문제 링크 : https://www.acmicpc.net/problem/1182
1182번: 부분수열의 합
첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다.
www.acmicpc.net
| 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 32 33 34 35 36 37 38 | #include<iostream> #include<algorithm> #define endl '\n' using namespace std; int S[25]; int N, K; int cnt; int search(int e, int value, int t) {     if(value == K)         cnt++;     for(int i = e+1; i < N; ++i)         search(i, value+S[i], t+1);     return 0; } int main(void) {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     cin >> N >> K;     for(int i = 0; i < N; ++i)         cin >> S[i];     for(int i = 0; i < N; ++i)         search(i, S[i], 0);     cout << cnt << endl;     return 0; } | 
O(2^N)이기때문에 다른 방법을 찾아봐야한다.
https://www.acmicpc.net/problem/1208
1208번: 부분수열의 합 2
첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다.
www.acmicpc.net
과 같은 경우에는 N이 최대 40이기 때문에 O(2^N)일 경우 시간초과가 걸린다.
'알고리즘 > Backjoon' 카테고리의 다른 글
| [C++] 1051 - 숫자 정사각형 (0) | 2019.12.19 | 
|---|---|
| [C++] 1012 - 유기농 배추 (0) | 2019.12.19 | 
| [C++] 1999 - 최대 최소 (0) | 2019.12.15 | 
| [C++] 11048 - 이동하기 (0) | 2019.12.07 | 
| [C++] 10865 - 친구 친구 (0) | 2019.12.07 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				