알고리즘 문제 해결: ACM 천재
수학적 분석
이 문제의 중요한 성질은 다음과 같습니다: 만약 \(0<a<b<c<d\)라면, \((a-d)^2+(b-c)^2 > (a-c)^2+(b-d)^2\)
증명:
두 식을 각각 1식과 2식으로 설정합니다.
\((a-d)^2+(b-c)^2 = a^2+b^2+c^2+d^2-2ad-2bc\), \((a-c)^2+(b-d)^2 = a^2+b^2+c^2+d^2-2ac-2bd\)
\(a*(c-d) > b*(c-d)\)이므로, \(-2ad-2bc > -2ac-2bd\)
따라서 \(a^2+b^2+c ...
9월 1일 05:07에 게시됨
2025-11-05 NOIP 모의 대회 2 후기
결론 짧게:
100+0+0+0 점수.
T1: 소 Z의 장갑
문제 설명
길이가 \(n\)인 배열 \(a\)와 길이가 \(m\)인 배열 \(b\)가 주어집니다.
이 배열에서 \(\min(n,m)\)개의 쌍 \(a_i, b_j\)를 매칭해야 합니다. 각 숫자는 한 번만 매칭할 수 있습니다.
매칭의 비용은 \(|a_i - b_j|\)이며, 매칭 그룹의 비용은 이들 중 최댓값입니다. 이 최댓값을 최소화해야 합니다.
대회 당시
탐욕 ...
7월 31일 09:43에 게시됨
배열과 연결 리스트 알고리즘 기초
시간 복잡도
알고리즘 분석 시 시간과 공간 복잡도를 우선 고려합니다. O(n³) 이상의 복잡도는 실제 환경에서 비효율적입니다. n은 데이터 규모를 나타내며, 로그 복잡도(log n)는 연산 횟수가 데이터 크기에 로그적으로 비례함을 의미합니다.
배열
이진 탐색
정렬된 배열에서 중복 없을 때 적용 가능합니다. 탐색 구간을 반으로 축소하며 대상 값을 검색합니다.
class Bi ...
7월 11일 02:49에 게시됨
Codeforces Round #690 (Div. 3) 풀이
A. Favorite Sequence
길이가 n인 배열 a를 특정 규칙에 따라 재배치하여 배열 b를 만든다. 재배치 규칙은 첫 번째, 마지막, 두 번째, 마지막에서 두 번째, ... 순서로 원소를 선택하는 것이다. 배열 b가 주어졌을 때 원본 배열 a를 복원하는 문제이다.
양쪽 끝에서 중앙으로 이동하는 투 포인터 기법을 적용한다. 왼쪽 포인터는 1부터 시작하고 오른쪽 포인터는 n부터 시 ...
6월 26일 02:34에 게시됨
2026년 자응대학 겨울 알고리즘 캠프 종료 대회
A B2029 코끼리 물 마시기 - 로그
수학 문제로, 원주율 π를 100배한 정수값을 사용하여 부동소수점 오차를 방지합니다.
#include <iostream>
using namespace std;
void calculate() {
int height, radius;
cin >> height >> radius;
int cylinderVol = height * 314 * radius * radius;
int totalWater = 2000000; // 20L * 1000cm³/L * 100 (스 ...
6월 5일 01:08에 게시됨