목록2024/02 (55)
Machineboy空
1.1.1 Hashing Introduction this algorithm's often computer science's favorite algorithm, because you're going to find the results of hashing, it's going to give us a fantastic run time for certain operations. Mathematically, we define hashing as a keyspace(table) that we want to transform into a number of different values. So, everything inside of our keyspace is going to be every possible key t..
완전탐색은 모든 경우의 수를 탐색하는 것이고, 백트래킹은 완전 탐색을 기반으로 하되, 불필요한 연산을 좀 줄이는 것. 경우의 수는 순열과 조합 + 로직으로 풀린다. 이를 재귀 또는 반복문으로 구현할 수 있다. 원상복구 타이밍 잘 처리하기! 상태값이 그 다음 경우의 수에 영향미치지 않게 처리해주는 것 완전 탐색 (brute force, exhaustive key search) 모든 경우의 수를 탐색하는 알고리즘 순열or 조합 + 로직 보통 1억 미만까지는 컴퓨터를 믿고 넘겨라. 예제) https://machineboy0.tistory.com/183 14502 : 연구소 - DFS, deep copy https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바..
https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 문제요약 공기와 접촉한 치즈의 표면이 녹아내릴 때, 모두 녹는 데 걸리는 시간과 녹기 1시간 전의 크기. 난이도 Gold 4 풀이 포인트 어떤 것을 중심으로 dfs를 돌릴지 잘 생각해야함. REVIEW 내가 하고 싶었던 건, 이동 방향에 우선순위를 두어 치즈 덩이(연결요소)의 시작점으로부터 반 시계방향 (아래,오른쪽,위, 왼쪽으로) 탐색하며 가장자리를 칠해가는 방식이었다. 풀이가 복잡해지는데 느낀 순간 오답이겠거니..
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제요약 3개의 벽을 세워 바이러스가 퍼지지 않는 안전영역의 최대 크기 구하기 난이도 Gold 4 풀이 포인트 단계 꼼꼼히 if (nx >= 0 && nx = 0 && ny =n || ny =m || b[nx][ny] > 0) continue; /..
https://www.acmicpc.net/problem/2852 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1 n; for (int i = 0; i > o >> s; if (A > B) go(asum, s); else if (B > A) go(bsum, s); o == 1 ? A++ : B++; prev = s; } if (A > B) go(asum, "48:00"); else if (B > A) go(bsum, "48:00"); cout
4.1 Heap introduction 제거 연산을 하는 데 걸리는 시간복잡도를 고려하면, 배열이나 리스트는 O(n)이라 굉장히 비효율적. 그렇다면 트리 구조를 생각해보자. 이진 검색트리의 경우 너무나 견고한 규칙에 따라 구성되어있기 때문에 이것 또한 성능 저하를 일으킨다. 그래서 트리의 아이디어를 가져오되, 노드가 우선순위를 가지고 있는 우선순위 큐를 활용한 힙을 만들어 볼 것 the remove operation is not having any parameters, it's simply going to take the minimum value found in the entire data structure, and remove it and return it back to the user. We want..
https://www.acmicpc.net/problem/1325 > n >> m; for (int i = 0; i > v >> u; adj[u].push_back(v); } for (int i = 1; i
https://solved.ac/contribute/17298 로그인 www.acmicpc.net 문제요약 오큰수(해당 요소보다 오른쪽에 있으면서 큰 가장 왼쪽의 수 찾기) 난이도 Gold 4 풀이 포인트 stack과 짝짓기 현재 인덱스들과 오큰수를 짝지어 pop하는 아이디어를 떠올려야 함. https://machineboy0.tistory.com/149 3986 : 좋은 단어 - 스택 https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드 machineboy0.tistory.com 스택 자료 구조를 이용한 쌍 Pop의 아이디어는 ..