LeetCode 동적 계획법 문제 해결 전략
동적 계획법 핵심 개념
동적 계획법은 중복 하위 문제가 많은 최적화 문제에 효과적입니다. 문제를 하위 문제로 분해하고, 동일 계산을 반복하지 않도록 결과를 저장합니다. 최적 부분 구조가 존재해야 적용 가능하며, 이는 지역 최적해가 전역 최적해로 이어지는 구조를 의미합니다. 핵심은 상위 문제 해결에 하위 문제의 결과가 재사용되는 점입니다.
대표적인 예로 피 ...
7월 9일 21:30에 게시됨
알고리즘 노트 및 문제 해결 전략
P2569 https://www.luogu.com.cn/problem/P2569
이 문제를 참고하세요.
/*단조큐로 dp 최적화
주식을 매수하는 전이 방정식에서 j는 순차적으로 열거됩니다. 주식을 매수하는 것이므로 보유한 주식은 점점 증가할 것이며,
현재의 결정이 나중에(j가 더 클 때) 사용될 수 있으므로 먼저 구해야 합니다.
마찬가지로 주식을 매도할 때 보유한 주식은 점점 줄어들고,
즉 현재 ...
6월 27일 03:51에 게시됨
소인수분해 구현: 루트 N 최적화 방법
소인수분해 문제
양의 정수 N이 주어졌을 때, 이를 소수들의 곱으로 분해하는 문제입니다.
예: 60 = 2 × 2 × 3 × 5
입력 조건
하나의 정수 N (2 ≤ N ≤ 1,000,000,000)
출력 조건
N의 소인수들을 오름차순으로 출력
예시
입력: 60
출력: 2 2 3 5
입력: 3
출력: 3
접근 방법
초보자들은 보통 2부터 N까지 반복문을 돌며 확인하지만, N이 최대 10억일 때는 시간 초과 ...
6월 20일 06:12에 게시됨
최대 열정 팀 구성 알고리즘
문제 설명
n명의 참가자가 각각 능력치와 열정도를 가지고 있을 때, 팀 내 최대와 최소 능력치 차이가 주어진 X 이하인 조건에서 팀 전체 열정도의 합을 최대화하는 문제입니다.
입력 형식
첫 줄: 참가자 수 n
다음 n줄: 각 참가자의 능력치와 열정도
마지막 줄: 허용 가능한 최대 능력치 차이 X
출력 형식
조건을 만족하는 최대 열정도 합 출력
데이터 범위
30% 테스 ...
6월 17일 22:39에 게시됨
第一周.Day1.7.10
第一讲. 열거형
1.ABC 추측
열거형 A와 B를 통해 C의 범위를 B부터 N/A/B로 설정합니다. B ≤ N/A/B일 때, C의 개수는 N/A/B - B입니다.
A의 열거형 범위는 A³ ≤ N이며, B의 열거형 범위는 A*B² ≤ N입니다.
코드 보기
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
int n;
ll ans;
int main(){
cin >> n;
for(ll a = 1; a*a ...
6월 8일 01:22에 게시됨
풍력 포함 전력 시스템의 저탄소 최적 운행을 위한 MATLAB 플랫폼: 불확실성 고려 및 최적화 기법
풍력과 태양광 발전의 출력은 기상 조건에 크게 좌우되어 전력 시스템 운영에 불확실성을 유발합니다. 이러한 불확실성을 효과적으로 관리하고 탄소 배출을 최소화하기 위한 저탄소 최적 운행 플랫폼을 소개합니다. 본 플랫폼은 풍력, 태양광, 화력, 수력 발전소를 포함하며, 모호한 기회 제약(Fuzzy Chance Constraint)을 도입하여 예측 오차를 처리합니다. 또한, 비선형 ...
6월 2일 23:22에 게시됨
공암경사하법 구현 예제
공암경사하법(Conjugate Gradient Method)은 대규모 선형 시스템과 비선형 최적화 문제를 해결하는 데 효과적인 반복법입니다. 특히 2차 형식의 함수에서 n번의 반복으로 최적해를 찾을 수 있다는 장점이 있습니다.
다음은 공암경사하법의 기본 절차입니다:
초기 추정값 x0를 설정하고 초기 방향 벡터 p0를 -g0(그래디언트)로 설정합니다.
각 반복에서 현재 위치 xi에서 p ...
6월 1일 11:55에 게시됨