비트마스크 [백준/c++] 1182번: 부분수열의 합 문제 링크 - 부분수열의 갯수는 2^n-1개이다. (공집합 제외) for문은 1부터 2^n-1 까지 돌린다. k값은 현재 i의 이진수값의 인덱스에 해당하는 변수이다. 원소 갯수는 N개 이므로 N번 반복하면 되고, (1<<K)는 이진수 'i의 끝에서 K번째 수'가 1인지 0인지 확인하는 연산이다. ex) 예를들어, i=15(1111), k=3이면 i 맨앞 자리(끝에서 0,1,2,3번째)수가 1... 비트마스크비트마스크 백준 15686 치킨 배달 처음에 ans 의 초기값은 nnl로 잡았더니 너무 작았는지 틀려서 걍 크게 잡음 비트마스크로 모든 집합을 구해서 정답 구함 치킨집을 최대 m개라는 조건을 생각해야하는데 까먹고 있었음 비트마스크 아직 잘 몰라서 코드 짜는데 헤맴 재귀를 이용한 조합 ..... 브루트포스비트마스크구현구현 javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS <BOJ>1094번: 막대기 간단한 수식으로 풀 수 있는 문제라곤 하는데, 막대기를 항상 절반으로 자르기 때문에 비트마스크로도 풀 수 있다. 집합으로 생각해서 원소를 포함하는지 여부를 계산하면 된다. (쉽게 말해 X를 2진수로 만들었을 때, 1의 개수를 계산하면 된다.) for 루프는 64의 비트 수 만큼 도는데, 루프 내에서 (x & (1<<i))로 판단하면 된다. O(1)에 해결 할 수 있는 더 빠른 수행 시간 더 ... Java비트마스크백준bojbitmaskJava [BOJ 2098] 외판원 순회 (Python) 도시의 개수와 각 도시 쌍 간의 거리들이 주어질 때, 모든 도시를 한 번씩 방문하고 여행을 시작한 원래 도시로 돌아올 수 있는 최단거리 경로를 구하는 알고리즘이라고 한다. 즉, 0번 도시에서 시작하든 1, 2, 3번 도시에서 시작하든 정답 경로는 반드시 지나가게 되므로 결국 시작점을 단일 도시로 고정하여도 어쨌든 정답 경로를 지나치게 된다. ② DFS를 활용하여 가장 적은 비용의 순회 여행 ... DP알고리즘비트마스크TSPbojDP
[백준/c++] 1182번: 부분수열의 합 문제 링크 - 부분수열의 갯수는 2^n-1개이다. (공집합 제외) for문은 1부터 2^n-1 까지 돌린다. k값은 현재 i의 이진수값의 인덱스에 해당하는 변수이다. 원소 갯수는 N개 이므로 N번 반복하면 되고, (1<<K)는 이진수 'i의 끝에서 K번째 수'가 1인지 0인지 확인하는 연산이다. ex) 예를들어, i=15(1111), k=3이면 i 맨앞 자리(끝에서 0,1,2,3번째)수가 1... 비트마스크비트마스크 백준 15686 치킨 배달 처음에 ans 의 초기값은 nnl로 잡았더니 너무 작았는지 틀려서 걍 크게 잡음 비트마스크로 모든 집합을 구해서 정답 구함 치킨집을 최대 m개라는 조건을 생각해야하는데 까먹고 있었음 비트마스크 아직 잘 몰라서 코드 짜는데 헤맴 재귀를 이용한 조합 ..... 브루트포스비트마스크구현구현 javascript로 풀어낸 완전탐색 완전 탐색에서 비트마스크는 문제에서 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두 가지 선택으로 구성되는 경우에 유용하게 사용이 가능하다. 약간의 난이도가 있는 문제로 완전 탐색 + BFS/DFS 문제가 많이 나온다. 너비 우선 탐색(BFS, Breadth-First Search) 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법... 재귀함수JavaScriptDFS자바스크립트BFS비트마스크permutation너비우선탐색완전탐색순열brute forcebitmaskrecursion깊이우선탐색BFS <BOJ>1094번: 막대기 간단한 수식으로 풀 수 있는 문제라곤 하는데, 막대기를 항상 절반으로 자르기 때문에 비트마스크로도 풀 수 있다. 집합으로 생각해서 원소를 포함하는지 여부를 계산하면 된다. (쉽게 말해 X를 2진수로 만들었을 때, 1의 개수를 계산하면 된다.) for 루프는 64의 비트 수 만큼 도는데, 루프 내에서 (x & (1<<i))로 판단하면 된다. O(1)에 해결 할 수 있는 더 빠른 수행 시간 더 ... Java비트마스크백준bojbitmaskJava [BOJ 2098] 외판원 순회 (Python) 도시의 개수와 각 도시 쌍 간의 거리들이 주어질 때, 모든 도시를 한 번씩 방문하고 여행을 시작한 원래 도시로 돌아올 수 있는 최단거리 경로를 구하는 알고리즘이라고 한다. 즉, 0번 도시에서 시작하든 1, 2, 3번 도시에서 시작하든 정답 경로는 반드시 지나가게 되므로 결국 시작점을 단일 도시로 고정하여도 어쨌든 정답 경로를 지나치게 된다. ② DFS를 활용하여 가장 적은 비용의 순회 여행 ... DP알고리즘비트마스크TSPbojDP