일단 내가 생각한 문제는, 동전이 다양한 금액으로 여러개 있을때, 두 사람한테 최대한 공정하게 분배하려면 어떻게 분배해야 할까. 나는 이 문제가 그리디라고 생각했다. 하지만 디피라는 의견이 있는데 왜 그런지 모르겠어서 다른 문제들을 찾아보고 문제 분석과 올바른 접근법을 생각해 보려 한다.
https://www.acmicpc.net/problem/1943
음 일단 나중에 풀겠지만, 절반으로 정해진 금액을 만들 수 있는지 여부에 대한 문제이다.
https://www.acmicpc.net/problem/17528
음 이게 완탐은 아닌건 알겠는데, 초반에 그리디로 선택 못하겠다는건 알겠다. 왜냐면 초반에 고른걸로 최소 작업 시간이 결정되지 않고, 이후에 결정도 영향을 끼치기 때문이다. 이럴때 무엇을 사용해야 할까?
https://www.acmicpc.net/problem/10982
이것도 투머신이랑 똑같다.
https://en.wikipedia.org/wiki/Subset_sum_problem
이 글은 음 부분 합 문제에 대한 글이다.
부분합 문제는 복잡도와 암호화와 관련되서 중요한 결정 문제라고 한다. 몇가지 동일한 형태의 문제들이 있다함. 만약 정수 집합이 주어져있다 해보자. 그 집합 안에 원소들의 합이 0인 부분집합이 존재하는가 ?이런 문제는 np-complete, 즉 주어진 문제에 대한 해결이 유효한지 확인하기 쉽지만, 처음에 봤을때 해결법이 있는지 알기는 어렵다는 말이다 (???).
동일한 다른 형태의 문제는, 자연수들이 주어져 있을때 그 안의 어떤 부분합이 W를 만들 수 있는가? 이 문제는 냅색 문제의 특별한 케이스라 볼 수 있다. 하나의 흥미로운 케이스는 부분합은 partition problem이라 볼 수 있다, 예를 들면 W는 자연수 전체 합의 절반이라 던가.
음 일단 np-complete등에 대한 용어가 잘 기억이 안난다. 그리고 파티션 문제라는게 어떤건지 잘 감이 안잡힌다.
[https://en.wikipedia.org/wiki/Partition_problem]
[https://en.wikipedia.org/wiki/Knapsack_problem]
일단 투머신을 풀어보고 싶다.
'알고리즘 문제 풀기' 카테고리의 다른 글
<백준> 2294번 동전2 (0) | 2020.04.16 |
---|---|
<알고리즘 문제> 해설 보면 안됐는데;, 중요 , 백준 동전1 2293번 (0) | 2020.04.12 |
<백준> 11400번 단절선, 이중 연결 요소. (0) | 2020.04.04 |
<leet code> Add Two Numbers ,etc/ c++ malloc vs new (0) | 2020.03.12 |
<leet code> Two sum (0) | 2020.03.12 |