점화식을 잘 만들면 되는 문제이다. 이때 주의해야 할점은 어느 순간에 2^31 승을 넘어가는지 체크해서 범위를 지정해주어야 한다는 점이다.
난이도에 비해 좀 까다로운 문제이다. 핵심은 카메라마다 회전이 가능하다는 점과, 대칭으로 감시하는 카메라의 경우 예외 처리를 해주면 최적화가 가능하다는 점이다.
개념 접근은 제대로 했는데 단방향의 케이스에서 실수를 해 애먹은 문제이다.핵심은 포인트 두개를 잡고 왼오로 갈때 오왼으로 갈때의 케이스들중 최소값을 찾으면 된다.
문제를 이해하기도 조금 어려웠던 문제이고, 규칙을 찾기가 조금 까다로웠던 문제이다.문제의 핵심은 항상 언제든 올수 있는 문자열의 종류는 "100" 과 "01" 이고"100" 다음에는 무조건 "0" "1" 이 나와한다는 점이다. 이때 "1"이 나오게 된다면 "1" "10
등차수만큼 거리가 있는 부분들을 고른다는 부분에서 헷갈릴 수 있지만 간단하게 예시를 들면 현재위치에서 오른쪽으로 2칸 아래로 1칸 의 수들을 연속으로 고를 수 있다는 소리이다.풀다보면 감은 오는데 어떻게 구현할지 뇌정지가 오는 문제였다.
잘 생각해보면 간단한 문제이다.어렵게 생각해서 직접 수의 규칙성을 찾다가 시간을 꽤 버렸다. 나올수 있는 수의 개수가 그렇게 많지 않다는 점을 생각해보면 그냥 dfs를 해서 수를 만들어 줄 수 있다는 점을 알 수 있다.
각 원생마다의 키차이를 구한다음 그 값이 큰 순서대로 조건에 맞게 빼주고 나머지 값들을 합해서 구하면 되는 문제이다.
복잡하게 생각해서 좀 오래걸린 문제이다. bfs 를 두번도는데 처음에는 봉우리들을 찾고 두번째에는 그 개수를 세어준다.다른 좋은 풀이를 아래에도 첨부한다.
밑면과 윗면의 숫자를 계속 이어서 만들수 있는 기둥은 총 6개로각 사이드를 잘 조합하여 최대값을 찾으면 되는 문제이다. 크게 어렵지 않다.
구현하여 dfs 를 돌면서 다 완성했다면 출력해주는 문제이다. 크게 어렵지 않아 보이지만 생각보다 구현하기 까다롭다.
중복한 타일은 제거해 줘야하는 문제이다. 점화식을 생각하기 어려운 문제이다.풀이의 핵심은 전체 타일의 수열 dp, 완전 대칭인 타일의 수열 s 를 구하면 대칭을 제거한 가지수를 구할 수 있게 된다.
행렬 제곱을 계산해 주어야 하는데 지수의 크기가 1000억까지 가는 문제이다. 핵심적인 풀이는 N^30 은 N^16 N^8 N^4\* N^2 와 같은 형식으로 나누어 곱해주는 방식이다.
k 가 n 보다 클수있다는 점에 유의하자
bfs 말고 비슷한 접근이지만 순회해서 확인하는 방법으로 풀었다가 계속 시간초과가 뜬 문제이다. bfs 풀이를 참고하여 풀었다.
전형적인 bfs 문제이다. 몇개 부쉈는지 체크하기전에 보드를 나가는지 먼저 체크해야 out of bound 가 안난다.
조건을 잘 생각해 주어야하는 구현 문제이다. 크게 어렵지는 않지만 예외 케이스들을 잘 생각해주어야 하기 때문에 조금 까다롭다.
크게 어렵지는 않지만 실수를 하여 애먹은 문제이다. 주의 할 점은 순서대로 계란을 깰때 무조건 하나라도 치고 넘어가야 한다는 점이다.
dfs 를 활용하여 풀었지만 시간이 꽤 오래 걸리는 풀이이다. 최적해를 구하는 다른 풀이도 첨부한다.
주어지는 명령에 대해 잘 처리해 주면 되는 문제이지만 조건이 생각보다 헷갈리고 문제를 잘 읽지 않는다면 틀릴 수 있는 문제이다.x y 좌표에 대해서 유의 하자출력 문구는 3 종류이다
priority_queue로 구현을 해보다가 잘못된 접근이라는 것을 깨닫고 풀이를 찾아본 문제이다. 이분탐색을 활용해 풀어야하는 문제이다.
방문 체크를 해준다면 생각보다 문제가 간단해진다. 이점을 알지 못해서 풀이를 본 문제이다.
최적화를 하면서 탐색하였다가 시간초과가 난 문제이다.dp로 풀어야하는 문제였다...
dp 풀이라는것은 생각해냈지만 점화식을 도출하지 못한 문제이다...풀이의 핵심은 마지막이 0으로 끝났는지 1로 끝났는지를 판별해서 dp를 구해나가야 한다는 점이다.
이름은 4연산이지만 실제로 필요한 연산은 \*, + 두개뿐인 문제이다. dfs로 풀면 된다.