본문 바로가기

우선순위큐

(3)
[BOJ] 2075번 N번째 큰 수 (C++) https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); priority_queue pq; int n, k; cin >> n; for(int i = 0; i > k; pq.push(-k); if(pq.size() ..
[BOJ] 1766번 문제집 (C++) https://www.acmicpc.net/problem/1766 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net #include #include #include #define MAX 32001 using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m, a, b, indegree[MAX]; vector v[MAX]; priority_queue q; cin >> n >> m; for(..
[C++] STL - 컨테이너 어댑터(container adapter) [stack, queue] stack 스택 컨테이너는 vector 클래스를 기반으로 한다. 스택의 메모리 구조는 LIFO(Last In First Out)를 따르는 자료구조이다. DFS(Depth First Search, 깊이 우선 탐색)나 특별한 알고리즘이 필요한 상황이 아니라 문제 상황을 구현하는 데 LIFO의 구조를 가지고 있다고 판단되는 문제를 풀 때 사용된다. #include stack 스택명; 스택의 멤버함수를 확인하면 다음과 같다. s.size() : s의 원소의 개수를 반환(메모리 용량이 아님) s.empty() : s가 비어있는지 확인, 비어있으면 true를 반환한다. s.top() : s의 제일 위에 위치한(제일 나중에 저장된) 원소를 반환 s.push(x) : s에 x값을 저장 s.pop() : s의 제일 위에..