본문 바로가기

전체 글

(165)
SCPC 2024 Round 1 코드 (7/6 20:40에 공개로 전환)   1. A보다 B가 좋아 #include using namespace std;void solve(){ int n; string s; cin >> n >> s; int p = -9, ans = 0; for (int i = 0; i sync_with_stdio(0); int tc; cin >> tc; for (int t = 1; t   2. 배달 #include using namespace std;void solve(){ int n; cin >> n; vector a(n + 1); for (int i = 1; i > a[i]; sort(a.begin() + 1, a.end()); int m = n / 4; long long ans = 0; for (int i = 1; i..
2024 현대모비스 알고리즘 경진대회 예선 후기 어디 MT를 갔다 와서 상당히 피곤한 상태로 대회를 시작했다. A번은 $N$의 범위가 수상하지만 일단 SCC를 만들고 생각하는 게 편해 보였다. 그래서 SCC를 만들고 정점이 하나인 SCC에서 다시 BFS를 하는 코드를 짰는데 태케가 많이 긁히지 않았다. 그래서 구현이 말렸거나 풀이가 부족하다고 판단했고, 조금 고민해 본 결과 SCC 없이 BFS만으로 풀면 깔끔해질 것 같았다. 실제로 모든 점에서 BFS를 해보는 간단한 코드를 짰더니 어렵지 않게 맞을 수 있었다. 아마 40분 정도 걸렸다. 아니다 더 걸렸나 B번은 $N$의 범위가 많이 작아서 그냥 어떻게든 모든 경우를 다 해보기만 하면 되는 문제였다. 2층의 두 막대를 $N^4$에 선택하고, 두 막대의 길이의 곱만큼 다 해보면서 나름 복잡하지 않게 구현..
나는 왜 바쁜가 이번 학기는 뭔가 이상하다. 작년보다 적은 학점인 17학점을 듣고 있고, 시간을 크게 잡아먹었던 축구부도 그만두었다. 그러나 요즘은 전보다도 훨씬 삶이 바쁘다고 느껴진다. 그러다 보니 저절로 갓생을 살고 있는데, 이렇게 살지 않으면 내게 주어진 것들을 감당할 수 없기 때문이다. 우선, 과제들이 상당히 많다. 수리통계는 매주 문풀 과제가 나와서 진도를 열심히 따라잡아야 한다. 일주일에 평균 7시간 정도를 쓰는 것 같다. 선대1은 격주로 문풀 과제가 나오는데, 수통과 마찬가지로 빡세다. 내용이 생각보다 어려워서 의외로 큰 걸림돌이다. 해개는 과제가 없지만 퀴즈가 4번이라 어차피 꾸준히 공부해야 한다. 데베는 플립러닝이라고 수업 내용을 강의 전에 듣고 와야 하는데, 일주일에 3시간 이상을 쓴다고 보면 된다. ..
Codeforces Round 942 (Div. 1) Dashboard - Codeforces Round 942 (Div. 1) - Codeforces codeforces.com 사실 전 글은 쓸 생각이 없었는데, 이번 대회를 치고 이 글을 쓰기 위해 전 것도 작성했다. 하아 Prob. A원소의 최소 개수를 최대화해야 함은 직관적으로 알 수 있다. 그리고 예제를 통해 그 원소의 개수의 역순으로 배열하는 것이 최적임도 알 수 있다. 그래서 이를 이분탐색 등을 이용하여 잘 구현해주면 되는데, 자꾸 틀린다. 도저히 틀린 부분이 안 보여서 B를 다 풀고 왔더니 이분탐색 시작할 때 천장 값을 너무 크게 잡은 게 오버플로우를 유발하는 것 같았고, 실제로 그 부분만 고치니 맞았다. 이런 실수 되게 오랜만에 하는 것 같다. Prob. B1식을 정리해보면 나이브가 루트 시..
Codeforces Round 941 (Div. 1) Dashboard - Codeforces Round 941 (Div. 1) - Codeforces codeforces.com 진짜 오랜만에 코포 포스팅이다. 현생에서 큰 웨이브를 넘겼고, 슬슬 복귀를 해야겠다 싶어서 가볍게 쳐봤다. Prob. A깊이 생각해보지 않아도, 먼저 선택권이 주어지는 쪽에게 우세가 있다는 것을 알 수 있다. 이를 확인하기 위해 $a_i$를 정렬하고 인접한 값들의 차를 보면 된다. Prob. B일단 이진법을 써야 함은 자명하고, 여기서 열심히 구성해주면 된다. 나는 $k$의 MSB를 $x$라고 했을 때, $x$를 빼고 $k-x$를 넣고 $k+1$을 넣고 $k+2x$를 넣었다. 딱히 전략은 없고 $k$가 만들어지는 것을 피하면서 최대한 많은 수를 커버할 수 있도록, 그리고 현재 못 ..