비트마스킹 백준 1094번: 막대기 문제의 조건은 뭔가 까다로워 보인다. 예제를 보자. 예제 1: 입력 23 [반복1] 1. 64를 절반으로 자르면 32, 32가 된다. 2. 32는 x(23)보다 크기 때문에 자른 32를 버린다. (길이 : 32) [반복2] 1. 32를 절반으로 자르면 16, 16이 된다. 2. 16는 x(23)보다 작기 때문에 자른 16을 버릴 수 없다. (길이 : 16, 16) [반복3] 1. 16을 절반... 백준비트마스킹백준 [알고리즘] Java / 백준 / 기차가 어둠을 헤치고 은하수를 / 15787 [알고리즘] Java / 백준 / 기차가 어둠을 헤치고 은하수를 / 15787 문제 접근 방식 열차 하나 당 20개의 좌석이 있으므로 비트로 열차 내 정보를 표현하면 한 열차 당 20비트이다. 따라서 int 배열을 만들고 비트 마스킹으로 각 명령어를 수행하여 열차 정보를 갱신한다 그 후 집합에 정수형인 모든 열차 정보를 집어넣어 중복을 제거한 후 집합의 길이를 출력한다 코드... baekjoonJava구현비트마스킹Java [알고리즘 기법] 비트필드를 이용한 DP 스핑크스의 유명한 수수께끼 "목소리는 같지만 발이 4개가 되기도 하고 2개가 되기도 하고 3개가 되기도 하는 것은 무엇인가?"에 대한 다른 답안을 생각해볼 수 있는가? 개인적으로는 아래 사진과 같이 카메라도 해답이 될 수 있다고 생각한다. S가 될 수 있는지 묻는 문제가 있다고 하자. N이 너무 크지 않다면 비트연산을 통한 완전탐색을 생각해볼 수 있다. [1<<0,1<<N)까지의 숫자를 사용... 비트필드DP알고리즘 기법비트마스킹DP [백준] 14391번 - 종이 조각 Python, Java 문제 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, 열은 왼쪽부터 오른쪽까지 번호가 매겨져 있다. 영선이는 직사각형을 겹치지 않는 조각으로 자르려고 한다. 각 조각은 크기가 세로나 가로 크기가 1인 직사각형 모양이다. 길이가 N인 조각은 N자리 수... 비트마스킹백준브루트 포스백준 [알고리즘] 비트마스킹 C++ 내가 보려고 정리함... 집합 표현하기는 비트를 이용한 아주 간단한 아이디어다. {1,2,5}이라는 집합이 있을 때 우리는 1,2,5 번째에 해당하는 비트를 1로 두고 나머지를 0으로 둬서 집합을 표현할 수 있다. 따라서 00.. 10011로 표현될 것이다. 그럼 정수 범위가 0 ≤ Ai < 2^25 = 33554432 인 집합이 주어질 때 집합을 비트로 표현해 보자. 우선 최대 범위인 33... 알고리즘비트마스킹비트마스킹 백준 11723 - 집합(실버5) 백준 11723 - 집합 처음에는 문제 이름부터 집합이니 그냥 set을 사용해야겠다고 생각했으나 시간초과가 났다. 그래서 원소가 20개이니, 배열을 만들어서 원소가 집합에 들어있으면 그 원소를 인덱스로 가지는 곳을 1로 만들고 들어있지 않다면 0으로 세팅했다.... 알고리즘11723백준비트마스킹11723
백준 1094번: 막대기 문제의 조건은 뭔가 까다로워 보인다. 예제를 보자. 예제 1: 입력 23 [반복1] 1. 64를 절반으로 자르면 32, 32가 된다. 2. 32는 x(23)보다 크기 때문에 자른 32를 버린다. (길이 : 32) [반복2] 1. 32를 절반으로 자르면 16, 16이 된다. 2. 16는 x(23)보다 작기 때문에 자른 16을 버릴 수 없다. (길이 : 16, 16) [반복3] 1. 16을 절반... 백준비트마스킹백준 [알고리즘] Java / 백준 / 기차가 어둠을 헤치고 은하수를 / 15787 [알고리즘] Java / 백준 / 기차가 어둠을 헤치고 은하수를 / 15787 문제 접근 방식 열차 하나 당 20개의 좌석이 있으므로 비트로 열차 내 정보를 표현하면 한 열차 당 20비트이다. 따라서 int 배열을 만들고 비트 마스킹으로 각 명령어를 수행하여 열차 정보를 갱신한다 그 후 집합에 정수형인 모든 열차 정보를 집어넣어 중복을 제거한 후 집합의 길이를 출력한다 코드... baekjoonJava구현비트마스킹Java [알고리즘 기법] 비트필드를 이용한 DP 스핑크스의 유명한 수수께끼 "목소리는 같지만 발이 4개가 되기도 하고 2개가 되기도 하고 3개가 되기도 하는 것은 무엇인가?"에 대한 다른 답안을 생각해볼 수 있는가? 개인적으로는 아래 사진과 같이 카메라도 해답이 될 수 있다고 생각한다. S가 될 수 있는지 묻는 문제가 있다고 하자. N이 너무 크지 않다면 비트연산을 통한 완전탐색을 생각해볼 수 있다. [1<<0,1<<N)까지의 숫자를 사용... 비트필드DP알고리즘 기법비트마스킹DP [백준] 14391번 - 종이 조각 Python, Java 문제 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, 열은 왼쪽부터 오른쪽까지 번호가 매겨져 있다. 영선이는 직사각형을 겹치지 않는 조각으로 자르려고 한다. 각 조각은 크기가 세로나 가로 크기가 1인 직사각형 모양이다. 길이가 N인 조각은 N자리 수... 비트마스킹백준브루트 포스백준 [알고리즘] 비트마스킹 C++ 내가 보려고 정리함... 집합 표현하기는 비트를 이용한 아주 간단한 아이디어다. {1,2,5}이라는 집합이 있을 때 우리는 1,2,5 번째에 해당하는 비트를 1로 두고 나머지를 0으로 둬서 집합을 표현할 수 있다. 따라서 00.. 10011로 표현될 것이다. 그럼 정수 범위가 0 ≤ Ai < 2^25 = 33554432 인 집합이 주어질 때 집합을 비트로 표현해 보자. 우선 최대 범위인 33... 알고리즘비트마스킹비트마스킹 백준 11723 - 집합(실버5) 백준 11723 - 집합 처음에는 문제 이름부터 집합이니 그냥 set을 사용해야겠다고 생각했으나 시간초과가 났다. 그래서 원소가 20개이니, 배열을 만들어서 원소가 집합에 들어있으면 그 원소를 인덱스로 가지는 곳을 1로 만들고 들어있지 않다면 0으로 세팅했다.... 알고리즘11723백준비트마스킹11723