본문 바로가기

전체 글

11054 가장 긴 바이토닉 부분 수열 배열을 두 개 만들어서 하나는 증가하는 부분수열을 구했고 나머지 하나는 감소하는 수열 or 증가하고 감소하는 수열의 길이를 구했다 #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000 using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; using iii = tuple; int main() .. 더보기
11722 가장 긴 감소하는 부분 수열 증가하는 수열에서 등호만 바꿔주면 해결 #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000 using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; using iii = tuple; int main() { int n; scanf("%d", &n); vector v(n + 1); for (int.. 더보기
11055 가장 큰 증가 부분 수열 마지막에 잘못 적었는데 max(이전값) + a[i]여야 한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000 using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; using iii = tuple; int main() { int n; scanf("%d", &n); vector v(n +.. 더보기
11053 가장 긴 증가하는 부분 수열 burningjeong.tistory.com/453 LIS 최장 증가 부분 수열 burningjeong.tistory.com 드디어 완벽히 이해했어ㅠㅠ 뿌듯해 #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000 using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; using iii = tu.. 더보기
LIS 최장 증가 부분 수열 더보기
15645 내려가기 문제 봤을 때 딱 봐도 디피라 디피 사용했긴 했는데 틀려서 계속 해맸었다. 정의는 위의 사진처럼 적당히 이렇게 하면 굴러가겠지 싶어서 이렇게 짰는데 역시나 틀렸고 원인을 못 찾았다ㅋㅋ #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000 using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; .. 더보기
7571 점 모으기 이걸 네 점의 평균 위치에 점을 옮기면 가장 거리가 짧을 것 같았다. 근데 틀림ㅠ 다음으로 평균을 구할 때 무조건 나누면 내림이 되니깐 여기서 문제가 발생하지 않을까? 싶었다. 그래서 (내림, 내림) (내림, 올림) (올림, 내림), (올림, 올림) 네 가지 경우를 모두 계산했는데 그래도 틀렸다ㅋㅋ #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() using namespace std; using i64 = long lo.. 더보기
17204 죽음의 게임 아! 신난다~ 아! 재미난다~! 더! 게임! 오브 데스! 하나! 둘! 셋! 이전에 풀었던 문제와 비슷한 문제였다 반복 구간이 나올 때까지 보성이가 지목을 못 받으면 -1을 출력한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() using namespace std; using i64 = long long int; using ii = pair; using ii64 = pair; using iii = tuple; int.. 더보기