전체 글 썸네일형 리스트형 13019 A를 B로 - 순서가 올바르지 않으면 무조건 옮겨야 한다 - 어떤 것들을 옮길지가 중요하지 어떤 순서로 옮겨야 하는지는 중요하지 않다 - 그래서 뒤에서부터 올바르지 않은 알파벳들의 개수를 세어주었다 #include #include #include #include #include #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 987654321 using namespace std; using i64 = lo.. 더보기 12915 대회 개최 가장 간단한 해결책을 생각해본다면 x와 y를 모두 다 구하는 건데 그럼 시간 복잡도가 초과된다. 10^5 * 10^5 ... 이제 y의 시간복잡도를 줄이도록 노력해야 하는데... b와 c가 같아지고, 최대한 큰 값이 되게 하는 y를 구하면된다. #include #include #include #include #include #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 987654321 usi.. 더보기 6503번 망가진 키보드 푸는 중 #include #include #include #include #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 987654321 using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii = tuple; int _arr[400]; int* arr = _a.. 더보기 Round 171 시도했던 문제 - B. 수강변경 https://www.acmicpc.net/problem/23305 - C. 눈덩이 굴리기 https://www.acmicpc.net/problem/23305 - D. 2xN 예쁜 타일링 https://www.acmicpc.net/problem/18230 수강변경 - 성공 먼저 바꾸고자 하는 수업 개수를 전부 센다. 다음으로 바꾸고싶은 수업이 있으면 count-- 한다. 수업 개수가 이미 0이라면 원하는 수업을 수강하지 못하는 학생이므로 ans++ 한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu.. 더보기 Round 172 시도했던 문제 - D. 초콜릿 피라미드 https://www.acmicpc.net/problem/25793 - E. 프린트 전달 https://www.acmicpc.net/problem/23887 초콜릿 피라미드 수학... 문제였다. 한 층을 채운다고 하면 아래와 같이 식을 세울 수 있다. w: r * c + (r - 1) * (c - 1) b: (r - 1) * c + r * (c - 1) 식을 조금 더 정리하면 이렇게 된다. w: 2 * r * c - (r + c) + 1 b: 2 * r * c - (r + c) 고민해봐야 할 부분은 여러 층을 쌓아야 하는데... 예시의 2 * 3을 들면 (2 * 3) + (1 * 2)를 해야 하고, 9 * 3인 경우 (9 * 3) + (8 * 2) + (7 * 1).. 더보기 순열 void swap(int &a, int &b) { int temp = a; a = b; b = temp; } void permutation(vector &v, int depth, int n, int r) { if (depth == r) { for(int i = 0; i < r; i++) cout 더보기 14217 그래프 탐색 음 수도와의 거리를 구해야 하고, 수도는 고정되어 있어서 수도 기준으로 bfs를 돌리면 되겠다 싶었다. bfs는 최대 500번 방문하고, q도 500번 걸리고, vector erase도 최대 500정도 걸려서 잘하면 통과할 것 같았다. (그런데 그럼 O(n^3) 정도일텐데 통과한게 신기하다) 풀이는 간단하다. 간선이 업데이트 될때마다 bfs를 돌린다.. 그리고 높이 값도 같이 계산한 다음 높이를 출력한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first.. 더보기 offset 대신 포인터로 사용하기 int _arr[20005]; int* arr = _arr + 10000; arr[-10] = 6; 북님 꿀팁 백업하기 더보기 이전 1 2 3 4 5 6 7 8 ··· 79 다음