본문 바로가기

전체 글

(297)
[USACO] 백준 5945 - Treasure Chest 참고이 문제는 "동적계획법으로 푸는 게임이론" 문제이다. 이 키워드에 대해 잘 모르고 있다면 2040 - 수 게임 문제에 대한 풀이를 보고 오는 것이 이해에 도움이 된다. 링크 - https://nicotina04.tistory.com/272 백준 2040 - 수 게임https://www.acmicpc.net/problem/2040 이 문제는 대단히 교육적인 문제이므로 꼭 공부하는 것을 추천한다. 게임 전략 A와 B 둘 다 최적으로 플레이를 한다고 했다. 이를 수식으로 표현하면 어떻게 될까? A의nicotina04.tistory.com풀이두 명의 플레이어가 점수를 먹는 게임을 하므로 $max(First - Second)$를 구하는 문제가 된다. 게임 규칙은 단순하므로 $max(First - Second)..
백준 12199 - Password Attacker (Large) https://www.acmicpc.net/problem/12199 문제의 조건을 만족하는 비밀번호의 갯수를 구하기 위해 다음 점화식을 고려할 수 있다. dp(i, j) := 입력할 수 있는 문자가 i개 남았고 아직 쓰지 않은 키가 j개 남았을 때 최적해 문제에서 j개의 키를 반드시 사용하라고 했으므로 j가 0이 되는 방법을 동적 계획법으로 계산하면 문제의 정답을 구할 수 있다.
[Unity] 오브젝트 클릭과 터치 감지 구현하기 이 포스트에서는 유니티 엔진에서 오브젝트를 PC 환경에서 클릭 혹은 모바일에서 터치하는 방법을 알아본다. 2D를 기준으로 작성했다.IPointerDownHandler와 IPointerUpHandler먼저 오브젝트에 대한 터치를 구현하기 위해서는 위 두 인터페이스가 필요하다. UnityEngine.EventSystems에서 제공되는 인터페이스로 각각의 역할은 다음과 같다.IPointerDownHandler대상 오브젝트를 눌렀을 때 호출되는 콜백이다.IPointerUpHandler대상 오브젝트를 눌렀다가 뗐을 때 호출되는 콜백이다. 사용자는 이 두 인터페이스를 활용하여 오브젝트를 터치할 때의 동작을 구현할 수 있다. 하지만 단순히 이 두 가지 인터페이스를 사용한다고 할 수 있는 건 아니고 아래 설명할 준비를..
백준 23280 - 엔토피아의 기억 강화 https://www.acmicpc.net/problem/23280 다음 점화식을 정의하자.$dp(i, j, k) := $ $i$번째 순서에서 왼손이 $j$, 오른손이 $k$에 있을 때 최적해번호는 총 12개가 있으므로 약 10001 × 12 × 12 크기의 메모리를 사용하여 동적 계획법을 시행할 수 있다.처음에 왼손과 오른손이 각각 번호 1, 3에 있다고 했으므로 $dp(0, 0, 2)$부터 메모이제이션을 하여 정답을 계산할 수 있다.정답 코드 - C++12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#pragma GCC target("fm..
백준 9825 - MODSUM https://www.acmicpc.net/problem/9825 문제를 보면 다음과 같이 언급하고 있다. Important note: You can assume that the result will always be less than 1,000,000. 이 말을 통해 문제에서는 연산의 제한이 $10^{6}$임을 암시하고 있다. 문제에서 제시한 계산식  \[\sum_{x_1 = v_1}^{w_1}\sum_{x_2 = v_2}^{w_2} \cdots \sum_{x_n = v_n}^{w_1} f(x_1, \dots, x_n)\]  으로만 보면 많은 연산이 필요할 것으로 보이나, 제한을 걸고 있기 때문에 안심하고 브루트포스를 해도 되는 것으로 이해할 수 있다. 문제의 제한을 이해했으므로 나머지는 신경 쓸 필요..