문제 링크:https://oj.uz/problem/view/APIO13_interference 문제 보기 - Interference (APIO13_interference) :: oj.uz Wikipedia에 따르면, '자기상관'이란 신호의 교차상관관계를 말한다. 높은 자기상관값을 가지는 것은 혼선을 증가시키므로 무선 신호에 좋지 않다. 만약 당신이 미래에 신호를 다루는 무선 통신 연 oj.uz 답을 최소화하기 위하서 나는 hill climbing 기법을 사용했다. 이 기법은 현재 상태에서 인접한(원소 차이가 하나인) 해 중 가장 좋은 해를 찾고, 그 해로 이동하는 것을 반복하는 기법이다. 이 기법을 사용해서 변화가 없을 때까지 탐색하고, 랜덤한 해로 이동하는 것을 반복해서 답을 구했다. 코드: #incl..
내 스택에 관한 글 를 읽거나, 스택에 대한 지식이 있어야 풀이를 이해할 수 있다. 괄호의 값: https://www.acmicpc.net/problem/2504 풀이: 스택을 이용해서 현재 쌍을 만들어야 하는 괄호들을 나온 순서대로 저장해주는 것이 풀이의 핵심이다. 괄호 스택을 비우고 닫힐 때 추가되는 점수를 1로 해 준 뒤, 문자열을 순서대로 보면서 여는 괄호가 들어오면 스택에 넣고, 현재 닫힐 때 추가되는 점수에 괄호의 값을 곱해준다. 닫는 괄호가 들어오면, 괄호가 스택 맨 위의 괄호와 맞는지 확인해 준 후 맞지 않으면 0을 출력해 준 뒤, 스택 맨 위 괄호와 이웃해 있으면 닫힐 때 추가되는 점수를 정답에 더해 준 후, 스택에서 pop을 하고, 닫힐 때 추가되는 점수에 괄호의 값을 나눠주면 된다. ..
개요:스택은 한쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료구조이다. 연산: push(x): 스택 가장 위 에 x를 추가한다. pop(): 스택 가장 위에 있는 항목을 제거한다. top(): 가장 위에 있는 항목을 반환한다. size(): 스택의 크기를 반환한다. 구현: 배열이나 링크드 리스트를 이용해 구현할 수 있는데, 나는 배열로 구현했다. #include #include #include //https://www.acmicpc.net/problem/10828 문제 풀이 using namespace std; template class stack { T arr[1000100]; const int maxsiz = 1000000; int siz = 0; publ..