백준 7453 합이 0인 네 정수 (Java)
https://www.acmicpc.net/problem/7453 1. 문제정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다.A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 2^28이다.출력합이 0이 되는 쌍의 개수를 출력한다.2. 풀이네 개의 배열을 모두 탐색하면 최대 O(400^4)로 시간초과가 날 수 있으므로 두 개씩 묶어서 계산한다. int idx = 0; for (int i = 0; i 우선 입력받은..
백준 12015 가장 긴 증가하는 부분 수열 2 (Java)
https://www.acmicpc.net/problem/12015 1. 문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000)출력첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다.2. 풀이기존에 사용하던 LIS 코드는 다음과 같다.for(int i=1;i 이렇게 구현하면 시간복잡도는 O(n^2)가 된다...