// 알고리즘 1. 최소 스패닝 트리 2. 주어진 인접리스트를 이용하여 Prim알고리즘으로 해결 3. 결과값이 int범위를 초과하는 경우가 생길 수 있음. 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; public class 행성연결_16398_prim { static int N, map[][]; static class Point implements Comparable { int to; long cost; public ..
//알고리즘 1. dp 2. 이분탐색을 이용하여 dp테이블을 구현 더보기 import java.io.*; import java.util.*; public class 가장긴증가하는부분수열2_12015 { static int N, arr[], LIS[]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N]; LIS = new int[N]; StringTokenizer st = new StringTokenizer(br.readLi..
// 알고리즘 1. dp 2. 현재 인덱스를 기준으로 이전 인덱스들을 탐색 -> 만약 이전값이 현재 값보다 크다면 패스 -> 이전값이 현재 값보다 작다면 dp 테이블을 비교하여 이전값의 dp테이블 +1 3. 생성된 dp 테이블에서 가장 큰 값이 가장 긴 증가하는 부분수열임. 더보기 import java.io.*; import java.util.*; public class 가장긴증가하는부분수열_11053 { static int N, arr[], dp[]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Inte..