본문 바로가기

알고리즘

앳코더90 - 014 - We Used to Sing a Song Together(★3) https://atcoder.jp/contests/typical90/tasks/typical90_n 014 - We Used to Sing a Song Together(★3) AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp 초등학생과 초등학교의 위치가 N개 주어질때 한 학교당 한 학생만 다니게 만들고 그 거리의차이를 불만도라고 할때 불만도를 최소화 해라. 정렬을해서 하나씩 맞춰주는 그리디한 방식이 최적임을 보장할 수 있기 때문에 이를 구현하면된다. #define _CRT_SECURE_NO_WARNINGS #include ..
1270번 : 전쟁 - 땅따먹기 https://www.acmicpc.net/problem/1270 1270번: 전쟁 - 땅따먹기 첫째 줄에는 땅의 개수 n(n> tmp; v.push_back(tmp); if (count == 0) major = tmp; if (major == tmp) count++; else count--; } ll cnt = 0; rep(i, n) { if (major == v[i]) cnt++; } if (cnt
앳코더90 - 013 - Passing(★5) https://atcoder.jp/contests/typical90/tasks/typical90_m 013 - Passing(★5) AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp 정점 N, 간선 M이 1 2 3 으로 M개 주어진다. k = 1~N까지 1 -> k -> N의 최단 경로를 출력하라 라는 문제다. 크게 어렵지 않게 접근할 수 있었는데, 먼저 플로이드워셜 생각을 했다가 메모리가 부족하여 dijk(1) + dijk(N)을 더하는 형태로 구현했다. int로 했다가 오버플로우로 틀려서 ll로 수정하니 정답이 나왔다...
앳코더90 - 011 - Gravy Jobs(★6) https://atcoder.jp/contests/typical90/tasks/typical90_k 011 - Gravy Jobs(★6) AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp N개의 일 d, c, s 가 주어진다. d일 시작하여 c일동안 진행되며 s원을 준다. 서브 태스크 문제이며 가장 돈을 많이 벌 수있게 일을 선택하는 것이다. 문제를 읽어봤을때 들었던 생각은 TSP문제였고 서브태스크들을 보고 각각 N> c; v.push_back({ a,b,c }); } sort(v.begin(), v.end(), [](co..
앳코더90 - 012 - Red Painting(★4) https://atcoder.jp/contests/typical90/tasks/typical90_l?lang=ja 012 - Red Painting(★4) プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技プログラミングを atcoder.jp 플젝들이 다 끝났으니 다시 초심을 되찾아 실력을 쌓으러 돌아왔다. 실력을 쌓기에 11번은 별 개수가 조금 많기에 상대적으로 더 쉬운 12번부터 풀어보았다. 해석을 보면 H, W 크기의 2차원 배열이 있고 두 종류의 쿼리가 주어진다. - a, b 위치를 색칠한다. - a,b,c,d a,b가 색칠되어있고 c,d가 색칠되어 있을때 a,b -> c,d로 색칠된 면을 따라서만 상하..
2024 상반기 전남대학교 PIMM 알고리즘 파티 후기 서막 이번에도 belline0124 가 대회를 개최하자는 의견을 제의하였다. 저번 대회 끝나고 또 열어보자 라는 말이 나왔었기 때문에 이번엔 의심의 여지 없이 받아들였다. 이번 대회는 정말 목표를 크게 잡았었는데 - 11월~1월 : 문제 출제완료 - 1월~2월 : 문제 검수완료 - 2월~3월 : PIMM파티 개최 라는 계획을 하고 아레나 및 오프라인 개최까지 염려하여 계획적으로 움직였다. 나같은 경우에 갑자기 떨어질줄만 알았던 소프티어 부트캠프가 기가 막히게 일정이 겹쳤다. 그렇기에 최대한 소프티어 최종 플젝 영향안가게 미리미리 준비를 해놨다. 아레나와 같은 경우에는 6주 전에 모든 세팅을 마쳐놔야 했기에 나에게 있어서는 미리 할 수 계기가 되었다. 삐걱이는 계획 오프라인대회와 아레나가 무산되었다. 오프..
mcmf #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #define rep(i, n) for (int i = 0; i dist[cur] + d[cur][next]) { dist[next] = dist[cur] + d[cur][next]; prev[next] = cur; if (!visited[next]) { q.push(next); visited[next] = true; } } } } if (prev[D] == -1) break; int flow = INF; for (int i = D; i !=..
네트워크 플로우 // freopen("input.txt", "r", stdin); #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i, n) for (int i = 0; i < (int)(n); ++i) #define rep1(i, n) for (int i = 1; i 0 && d[next] == -1) { d[next] = cur; q.push(next); } } } if..