binarysearch
-
[BOJ]백준 7795번: 먹을 것인가 먹힐 것인가(C++)/Binary Search, Two PointerProblem Solving/BOJ(백준) 2021. 7. 11. 01:58
https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 세 가지 방식으로 풀이했다 우선 입력받은 두 배열을 모두 정렬하는 것은 똑같고, 이후의 과정을 1️⃣완전탐색 2️⃣이진탐색 3️⃣투포인터 세 가지 방법으로 풀었다. 완전 탐색 풀이 #include #include #include using namespace std; int t, n, m; vector a, b; int main() { scanf(..
-
[BOJ]백준 1939번: 중량제한(C++)/Dijkstra, Binary SearchProblem Solving/BOJ(백준) 2021. 6. 30. 23:09
https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1≤M≤100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1≤A, B≤N), C(1≤C≤1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 C인 다리 www.acmicpc.net 이진탐색+그래프탐색 문제 건널 수 있는 최대 중량(중량의 범위)을 알아내는 것이기 때문에 해당 범위를 binary search로 찾아내야하고, 처음에는 DFS로 돌렸으나 메모리초과가 뜨길래 왜틀렸지?하고 질문게시판을 뒤져본 결과 "인접 행렬로 연결 상태를 저장하면 메모리가 터지기 때문에 인접 리스트로 구현해야 한다"는 것을 알았다 사실 그래프 탐색 ..
-
[BOJ]백준 17245번: 서버실(C++)/Binary SearchProblem Solving/BOJ(백준) 2021. 6. 7. 22:29
https://www.acmicpc.net/problem/17245 17245번: 서버실 서버실에는 모두 85대의 컴퓨터가 있고, 3분이 지나면 전체의 58%인 50대의 컴퓨터가 정상 작동된다. www.acmicpc.net 문제의 자료형 범위를 잘 확인하자 ^^ 오랜만에 다시 백준 start #include #include #define ull unsigned long long using namespace std; int n; int map[1001][1001]; int main() { ull left = 0, right = 0, sum = 0; scanf("%d", &n); for (int i = 0; i < n; i++)for (int j = 0; j < n; j++) { scanf("%d", &ma..
-
[BOJ]백준 20168/20182/20183번: 골목 대장 호석(기능성, 효율성)(C++)/Dijkstra, 이진탐색Problem Solving/BOJ(백준) 2021. 4. 21. 03:04
www.acmicpc.net/problem/20168 20168번: 골목 대장 호석 - 기능성 첫 줄에 교차로 개수 N, 골목 개수 M, 시작 교차로 번호 A, 도착 교차로 번호 B, 가진 돈 C 가 공백으로 구분되어 주어진다. 이어서 M 개의 줄에 걸쳐서 각 골목이 잇는 교차로 2개의 번호와, 골목의 www.acmicpc.net www.acmicpc.net/problem/20182 20182번: 골목 대장 호석 - 효율성 1 첫 줄에 교차로 개수 N, 골목 개수 M, 시작 교차로 번호 A, 도착 교차로 번호 B, 가진 돈 C 가 공백으로 구분되어 주어진다. 이어서 M 개의 줄에 걸쳐서 각 골목이 잇는 교차로 2개의 번호와, 골목의 www.acmicpc.net www.acmicpc.net/problem/..