일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 비트마스킹
- BOJ
- dijkstra algorithm
- 에라토스테네스
- 에라토스테네스의 체
- CCW 알고리즘
- 소수
- 너비우선탐색
- BFS
- 비트연산
- deque
- 딕셔너리
- 재귀
- 백준
- 큐
- CCW알고리즘
- 이진 탐색
- Python
- DP
- 외적
- binary search
- recursion
- 위상정렬
- ccw
- 투 포인터
- Two Pointers
- 다익스트라
- Algorithm
- Bitmasking
- Today
- Total
목록Bitmasking (2)
꾸꾸리
문제 출처 : https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제 비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오. add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다. remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다. check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20) toggle x: S에 x가 있으면..
1.비트마스킹(BitMasking)이란 비트(bit, binary digit)란 컴퓨터의 최소 연산 단위로, 하나의 bit가 표현할 수 있는 경우는 0과 1로 두 가지이다. 주로 1은 켜져있고, 0은 꺼져있다고 표현한다. 비트 마스킹이란, 정수를 이진수로 표현하여, 비트 연산을 통해 문제를 해결하는 알고리즘 테크닉이다. 5개의 전구의 상태(켜짐/꺼짐)를 표현할 때 다음과 같은 방식들을 이용할 수 있다. 우선 다음과 같이 리스트 자료형으로 표현할 수 있다. 1 lights = [True,True,False,False,False] cs 두번째로 비트마스킹을 이용하여 다음과 같이 2진수의 정수로 표현할 수도 있다. (Python에서 2진수를 표현할때 다음과 같이 앞에 0b를 붙인다.) 1 lights=0b11..