https://algospot.com/judge/problem/read/PI algospot.com :: PI 원주율 외우기 문제 정보 문제 (주의: 이 문제는 TopCoder 의 번역 문제입니다.) 가끔 TV 에 보면 원주율을 몇만 자리까지 줄줄 외우는 신동들이 등장하곤 합니다. 이들이 이 수를 외우기 위해 사용 algospot.com classify(a,b) = n[a..b] 구간의 난이도를 반환한다 memorize(begin) = n[begin..]를 외우는 방법 중 난이도의 최소 합을 출력한다 memorize를 다음 1,2,3 중 최소값으로 정의할 수 있다. 1. 길이 3인 조각의 난이도 + 3글자 빼고 나머지 수열에 대한 최적해 2. 길이 4인 조각의 난이도 + 4글자 빼고 나머지 수열에 대한 ..
https://algospot.com/judge/problem/read/JLIS algospot.com :: JLIS 합친 LIS 문제 정보 문제 어떤 수열에서 0개 이상의 숫자를 지운 결과를 원 수열의 부분 수열이라고 부릅니다. 예를 들어 '4 7 6'은 '4 3 7 6 9'의 부분 수열입니다. 중복된 숫자가 없고 오름 차순으로 algospot.com jlis(indexA,indexB) = A[indexA]와 B[indexB]에서 시작하는 합친 증가 부분 수열의 최대 길이 #include #include #include using namespace std; typedef long long ll; const ll NEGINF=numeric_limits::min(); int n,m,A[100],B[100]..
https://algospot.com/judge/problem/read/LIS# algospot.com :: LIS Longest Increasing Sequence 문제 정보 문제 어떤 정수 수열에서 0개 이상의 숫자를 지우면 이 수열의 부분 수열 (subsequence) 를 얻을 수 있다. 예를 들어 10 7 4 9 의 부분 수열에는 7 4 9, 10 4, 10 9 등이 있다. algospot.com lis(start) = s[start]에서 시작하는 부분 증가 수열 중 최대의 길이 #include #include #include using namespace std; int n,cache[500],s[500]; int lis(int start) { int &ret=cache[start]; if(ret..