본문 바로가기

728x90

DP

[백준] 9659번 : 돌 게임 5 - C/C++ 쉽다 쉬워.#include //돌 게임 5using namespace std;int main(){ int n; cin >> n; if(n  제출해볼까~틀렸다.나는 간단하게 생각한다고 생각했는데, 너무 간단하게 생각했던 것 같다.코드를 이렇게 써놓고 맞을 것이라는 기대를 한 내 자신이 너무 웃기다. 다시 접근해보자.그럼 나는 힌트를 볼 수 밖에 없다.힌트? 백준에 힌트도 있나요? 할 수 있는데내가 말하는 힌트는 '알고리즘 분류'이다.알고리즘 분류가 '게임 이론' 이라는데 처음 본다. 진짜로. 게임 이론게임 이론은 말 그대로 두 명 이상의 플레이어가 규칙에 따라 경쟁하거나 협력하는 상황을 수학적으로 분석하는 이론이다. 프로그래밍에서 말하는 게임 이론 문제는 보통 두 명이 번갈아 가며 어떤 행.. 더보기
[백준] 11660번 : 구간 합 구하기 5 - C/C++ 지난번에 풀었던 문제와 비슷하다.누적합(prefix sum)을 이용하자. 입력 받은 2차원 배열을 저장할 공간과 누적합을 저장할 dp 테이블을 미리 선언해주자.int sum[1025][1025], dp[1025][1025]; N과 M을 입력 받았다면 dp를 처리하자.for(int i=1; i> sum[i][j]; dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1] + sum[i][j]; }} 왜 dp를 저렇게 처리하나요?https://binaryroot.tistory.com/17 [자료구조] 구간 합구간 합은 합 배열이라는 것을 이용하여 시간 복잡도를 줄이는 알고리즘이다.코딩 테스트에서는 사용 빈도가 높다고 한다. 핵심 이론구간 합 알고리즘을 활용하.. 더보기

728x90