본문 바로가기

백준

1242 소풍 아 정말 너무너무 어렵다. 처음에 나이브하게 풀었더니 시간초과가 났다. (예상했다) 시간을 줄이기 위해 삭제 할 때마다 상대적인 좌표를 사용해서 풀려고 했다. 그런데 틀렸다..... 뭔가 생각이 꼬여서 틀린 것 같다. #include #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 1000000007 using na.. 더보기
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.. 더보기
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.. 더보기
2992 크면서 작은 수 여행중이라 노트랑 펜이 없어서 어려운 문제는 못 풀고 쉬운 백트레킹 문제로 넘어갔다. 백트레킹 너무 안 풀어서 낯설고 두렵다.. 그래도 문제집 풀면서 적응해야지 싶었는데 백트레킹으로 안 풀었다ㅎ 딱 보니 next_permutation 사용하면 끝날 문제라 간단히 넘어갔다. 하지만 만약 백트레킹을 사용한다면? 모르겠다. 다음 문제에서 마주하겠다. #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) (.. 더보기
11995 Fenced In (Gold) [미완] ㅠㅜㅠㅜㅠㅜㅜㅠㅜㅠ 나중에 다시 봄 하....................................... #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() using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii.. 더보기
20026 Fix Wiring 와악 처음에 문제 이해를 못했다. mst로 최대 최소를 구한다고??? 최소는 알겠는데 최대? 알고보니 모든 경우의 수 중 최대를 구하게끔 잘 연결해야 하는 거였다. 그림에도 나와있지만 불필요한 연결에 최솟값을 주면 그게 최대가 된다. 이리저리 그려가면서 생각해보니 답이 나왔다. #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() using namespace .. 더보기