[백준 / BOJ] 14003 가장 긴 증가하는 부분 수열 5
문제 출처 : www.acmicpc.net/problem/14003 14003번: 가장 긴 증가하는 부분 수열 5 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) www.acmicpc.net 수열 A가 주어졌을때, 가장 긴 증가하는 부분 수열의 길이와 해당 수열을 구하는 문제다. 풀이 dp를 이용해 풀어야하는문제다. 수열의 크기가 1,000,000까지 가서, 이전 idx에서 가장큰 수를 N^2으로 뽑는 풀이로는 풀수없다. (매 탐색마다 자신의 뒤에서 가장 큰수를 가져오는 풀이로는 풀수없음) 이분탐색(혹은 세그)을 활용한 NlogN LIS알고리즘을 쓰면 풀..
[백준 / BOJ] 17070 파이프 옮기기 1
문제 출처 : www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 새 집으로 이사한 유현이는, 파이프를 옮길려한다. 파이프는 대각선, 왼쪽, 아래로 움직일수있다. 이때, 새 집에 새로운 벽지를 발랐기 때문에, 파이프가 벽을 긁으면 안 된다. 파이프를 N,N 위치로 옮기는 모든 경우의수를 구하는 문제다. 풀이 다이나믹 프로그래밍으로 푼 문제다. 문제에서 이동하는 모양을 보면, 항상 최소경로로 이동하기때문에, 최소경로로 이동했는지 고려해주지..